实验拓扑:
Linux Client
-----RHEL5.9(vmnet1)----------(vmnet1)
Win7 Client


实验一:Samba匿名共享
工作组为Tarena
将目录 /usr/src 共享给所有人
共享名设为 tools
允许所有人访问、无需密码验证
访问权限为只读


1、安装软件包
[root@localhost ~]# rpm -q samba-client samba samba-common
package samba-client is not installed
package samba is not installed
package samba-common is not installed
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# cp rhel-debuginfo.repo rhel-server.repo
[root@localhost yum.repos.d]# cat rhel-server.repo 
[rhel-server]
name=Red Hat Enterprise Linux Server
baseurl=file:///misc/cd/Server
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
//放入rhel5.9 iso
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum -y install samba samba-client samba-common
2、修改主配置文件
[root@localhost ~]# cd /etc/samba/
[root@localhost samba]# cp smb.conf smb.conf.bak
[root@localhost samba]# vim /etc/samba/smb.conf 
...
74 workgroup = Tarena        //工作组
75 server string = Win File Ser        //服务器描述
...
89 log file = /var/log/samba/%m.log    //启用日志
...
91 max log size = 50            //日志大小
...
101 security = share        //安全级别
...
221 load printers = no //屏蔽共享时看到的打印图标
...
289 [tools]    //共享名
290 comment = Tools Public    //描述
291 path = /usr/src        //共享路径
292 public = yes        //开启公用
293 read only = yes         //只读权限
3、启动服务
[root@localhost ~]# testparm 
[root@localhost ~]# service smb restart
[root@localhost ~]# chkconfig smb on
[root@localhost ~]# netstat -anptu | grep mbd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 7008/smbd 
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 7008/smbd 
udp 0 0 192.168.10.10:137 0.0.0.0:* 7011/nmbd 
udp 0 0 0.0.0.0:137 0.0.0.0:* 7011/nmbd 
udp 0 0 192.168.10.10:138 0.0.0.0:* 7011/nmbd 
udp 0 0 0.0.0.0:138 0.0.0.0:* 7011/nmbd 
4、客户端测试:
Windown:
UNC路径 \\192.168.10.253
Linux:
[root@localhost ~]# yum -y install samba-client
[root@localhost ~]# smbclient -L 192.168.10.253
[root@localhost ~]# smbclient //192.168.10.253/tools
[root@localhost ~]# mkdir -p /data/smb
[root@localhost ~]# mount -t cifs //192.168.10.253/tools /data/smb/
[root@localhost ~]# grep smb /etc/fstab 
//192.168.10.253/tools /data/smb cifs defaults 0 0

试验二 Samba用户验证
修改原有的 [tools] 匿名共享设置
不再允许所有人访问
只允许nick读取、tom写入
拒绝其他用户或匿名访问
上传目录的权限为755
上传文件的权限为644
1、新建相应账户与samba密码
[root@localhost ~]# useradd nick
[root@localhost ~]# useradd tom
[root@localhost ~]# echo "redhat" | passwd --stdin nick
[root@localhost ~]# echo "redhat" | passwd --stdin tom
[root@localhost ~]# pdbedit -a nick
[root@localhost ~]# pdbedit -a tom
2、修改主配置文件
[root@localhost ~]# vim /etc/samba/smb.conf 
...
101 security = user
...
289 [tools]
290 comment = Tools Public
291 path = /usr/src
292 public = no
293 valid users = nick,tom
294 write list = tom
295 read only = yes
296 directory mask = 0755
297 create mask = 0644
...
[root@localhost ~]# setfacl -m u:tom:rwx /usr/src/
3、启动服务
[root@localhost ~]# service smb restart
4、客户端测试
[root@localhost ~]# smbclient -U nick //192.168.10.10/tools
[root@localhost ~]# mount -o username=nick //192.168.10.10/tools /data/smb


试验三 Samba账户别名与访问地址控制
把普通帐户nick设置别名为jim
设置只允许192.168.10.20地址访问


1、修改Samba用户别名文件
[root@localhost ~]# vim /etc/samba/smbusers
# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = guest pcguest smbguest
nick = jim
2、修改主配置文件
[root@localhost ~]# vim /etc/samba/smb.conf 
...
76 username map = /etc/samba/smbusers
...
289 [tools]
290 comment = Tools Public
291 path = /usr/src
292 public = no
293 valid users = nick,tom
294 write list = tom
295 read only = yes
296 directory mask = 0755
297 create mask = 0644
298 hosts allow = 192.168.10.5
3、客户端测试