NFS:仅用于Linux之间
CIFS:仅用于Windows之间
SAMBA:可用于Linux与Windows之间,基于NetBIOS协议(用于LAN内部,不能跨路由),没有IP地址的概念,根据
NetBIOSName来区分主机。
两个服务:
nmbd:UDP的137、138,管理工作组、NetBios name等。
smbd:TCP的139,管理分享的目录、文件、打印机等。
两种模式:peer/peer(workgroup,对等模式)、 domain(域,主控模式)
1、安装samba、samba-client、samba-common这三个软件:
yuminstall samba (自动安装了samba-common)
yuminstall samba-client
2、修改配置文件/etc/samba/smb.conf,并用testpara检查正确性。
修改:
[global]
workgroup = WORKGROUP
security = user
添加如下小节:
[share]
comment = samba on 204
path = /home/share
browseable= yes
writable = yes
write list = @users
3、常用脚本文件
/usr/sbin{smbd,nmbd}服务器功能
/usr/bin/{tdbdump,tdbtool}查看、操作用户密码数据库
/usr/bin/smbstatus显示当前联机状况
/usr/bin/pdbedit管理Samba的用户账号
/usr/bin/testparm检验配置文件smb.conf的正确性
/sbin/mount.cifs(需yum install cifs*安装)
/usr/bin/smbclient客户端
/usr/bin/nmblookup查找NetBios name
/usr/bin/smbtree显示目录树
4、创建用户luguohua,使其隶属于users组
usermod-G users luguohua
5、创建目录/home/share
[root@kf_centos7_204home]#chgrp users /home/share
[root@kf_centos7_204home]# chmod 2770 /home/share
[root@kf_centos7_204home]# ll -d /home/share
drwxrws---.2 root users 6 Mar 30 23:28 /home/share
6、添加samba的用户luguohua,并设置密码。
pdbedit-a -u luguohua
pdbedit-L
7、修改安全设置
getsebool-a | grep samba
setsebool-P samba_enable_home_dirs=1
setsebool-P samba_export_all_rw=1
关闭防火墙
iptables-F
8、重新启动samba
/etc/init.d/smbrestart
/etc/init.d/nmbrestart
或
servicesmb start
servicenmb start
或
smbd -D
nmbd -D
9、测试
(1)在命令行输入命令:smbclient-L //127.0.0.1 -U luguohua
按要求输入密码后,提示出错:
session setup failed: NT_STATUS_LOGON_FAILURE
这是因为执行smbclient命令的用户luguohua没有成为samba服务的用户,解决方法如下:
先将改用户luguohua加入到samba中
~$ smbpasswd -a 某用户ID
按要求设置密码
(2)确保已安装mount.cifs后(yum install cifs*),进行如下挂载。
mount -tcifs -o username=luguohua //127.0.0.1/share /mnt
mount -tcifs -o username=luguohua //192.168.1.204/share /mnt
(3)在Windows中测试时为\\192.168.1.204\share,一定要注意斜杠的方向与linux中是不一样的。