1、linux访问windows
(1)
可以使用mount挂载,也可以使用samba软件
[1]
linux服务器挂载 windows的共享文件夹:
1.mount方式:关机失效
win主机IP192.168.1.100,共享目录workspace
mount -t cifs -o username='echo',password='123456' //192.168.1.100/workspace /mnt/share
2.通过修改fstab文件,支持开机自动挂载
修改/etc/fstab文件,文件最后加入:
//192.168.1.100/workspace /mnt/share cifs auto,username=‘echo’,password=‘123456’ 0 0
[2]
samba就是让windows和unix系列os之间的文件可以互相访问的软件。使用samba访问windows的共享文件夹,需要安装smbclient。
$ sudo apt-get install smbclient
安装好后,就可以访问共享的文件了。
$ smbclient --user=share //192.168.66.198/share
Enter share's password: (输入密码回车)
smb: \>
此时进入了smb的命令操作空间,可以使用help来查看命令的使用。
smb: \> help
......省略若干命令......
exit get getfacl geteas hardlink
help history iosize lcd link
......省略若干命令......
也可以使用help查看单个命令的使用方式
smb: \> help get
HELP get:
[local name] get a file
(2)在命令行输入命令:
~$ smbclient -L \\127.0.0.1
按要求输入密码后,提示出错:
session setup failed: NT_STATUS_LOGON_FAILURE
这是因为执行smbclient命令的用户ID没有成为samba服务的用户,解决方法如下:
先将改用户ID加入到samba中
~$ smbpasswd -a 某用户ID
按要求设置密码
这样该用户ID就成为了samba服务的用户了,此时再输入命令:
~$ smbclient -L \\127.0.0.1
Domain=[Example] OS=[Unix] Server=[Samba 3.6.3]
(3)
增加samba用户提示Failed to add entry for user
root@ubuntu ~]# smbpasswd -a test
New SMB password:
Retype new SMB password:
Failed to add entry for user test.
解决办法:
这是因为没有加相应的系统账号,所以会提示Failed to add entry for user的错误,只需增加相应的系统账号test就可以了:
[root@ubuntu ~]# groupadd test -g 6000
[root@ubuntu ~]# useradd test -u 6000 -g 6000 -s /sbin/nologin -d /dev/null
这时就可以用smbpasswd -a test增加test这个samba账号了!为了增加系统的安全性,所以加的系统账号不要给shell它,也不给它指定目录,到时在/home目录给test账号建个文件夹,该文件夹只有test有读写权限即可!
如:
[root@ubuntu ~]# mkdir /home/test
[root@ubuntu ~]# chown -R test:test /home/test
若不想让另人访问,只让test用户可以访问,只需执行命令:
[root@ubuntu ~]# chmod u+rwx,g+rwx,o-rwx /home/test
这时可以用smbpasswd命令增加samba账号test了
[root@ubuntu ~]# smbpasswd -a test
New SMB password:
Retype new SMB password:
2、window访问linux 前面可以不看只看后面
samba是一种可以在Linux/Unix主机上模拟windows主机的NetBIOS和CIFS/SMB实现与windows主机之间文件共享的软件。只要linux主机安装了samba,windows端借助samba可以将linux主机共享的目录文件映射为本地磁盘,linux端也可以将windows主机共享的文件挂载为本地文件系统。
一、linux主机共享文件让windows端访问
1、安装samba
RedHat5.8系统默认安装有samba3.0,这里使用samba3.5,先卸载samba3.0:
#rpm -e samba-client samba-common
安装samba3.5:
# yum -y install samba3x samba3x-client samba3x-common
2、添加samba用户:
创建用户:
#groupadd samba
#useradd -g samba smbuser1
3、创建共享目录并更改权限
mkdir /shared/test
设置文件系统访问权限
#chmod 755 /shared/test
更改文件属组
#chown :samba /shared/test
如果不更改属组可以使用acl授权指定用户:
#setfacl -m d:u:smbuser1:rw- /shared/test
添加用户至samba
#smbpasswd -a smbuser1
根据提示输入该用户对共享的访问密码
4、编辑samba配置文件/etc/samba/smb.conf,添加设置共享
[tools] #定义共享别名
comment = Public Stuff #共享注释
path = /shared/test #共享路径
write list = smbuser1,@samba #允许写操作的用户和组
guest ok = Yes #允许来宾匿名查看
printable = Yes #不隐藏
5、启动samba服务:
service smb start
6、windows端在文件管理器窗口的地址栏输入“\\172.16.15.222\tools\”,输入linux端定义的用户名和密码就可以访问linux的共享资源了。【172.16.15.222为linux主机IP,tools为linux定义的共享资源别名】
然后设置映射本地驱动器就可以了