Linux网络服务之SMB跨平台文件共享
——王宇然qq496488051
实验拓扑:
实验一:
将目录 /usr/src 共享给所有人
共享名设为 tools
允许所有人访问、无需密码验证
访问权限为只读
1、安装软件包
[root@localhost ~]# rpm -q samba-clientsamba 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/ //进入YUM目录
[root@localhost yum.repos.d]# cprhel-debuginfo.repo rhel- server.repo //复制一份YUM模板
[root@localhost yum.repos.d]# vimrhel-server.repo //用vim编辑yum配置文件
[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
[root@localhost yum.repos.d]# yum clean all //消除yum库
[root@localhost yum.repos.d]# yum -yinstall samba samba-client samba-common //安装
软件包
2、修改主配置文件
[root@ser1 ~]# 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 //降低安全级别
...
289 [tools]
290 comment = Tools Public
291 path = /usr/src
292 public = yes
293 read only = yes
3、启动服务
[root@ser1 ~]# testparm //检查smb配置
[root@ser1 ~]# service smb restart //重启smb服务
[root@ser1 ~]# chkconfig smb on //开启smb服务
[root@ser1 ~]# netstat -anptu | grep mbd //查看smb端口
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、客户端测试:
UNC路径\\192.168.10.10
Linux:
[root@localhost ~]# yum -y installsamba-client
[root@localhost ~]# smbclient -L192.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.10/tools /data/smb/
[root@localhost ~]# grep smb /etc/fstab
//192.168.10.10/tools /data/smb cifs defaults 0 0
实验二:
Samba用户验证
修改原有的 [tools]匿名共享设置
不再允许所有人访问
只允许nick读取、tom写入
拒绝其他用户或匿名访问
1、新建相应账户与samba密码
[root@localhost ~]# useradd nick //添加用户
[root@localhost ~]# useradd tom
[root@localhost ~]# echo "123456"| passwd --stdin nick //给用户设置密码
Changing password for user nick.
passwd: all authentication tokens updatedsuccessfully.
[root@localhost ~]# echo "123456"| passwd --stdin tom
Changing password for user tom.
passwd: all authentication tokens updatedsuccessfully.
[root@localhost ~]# pdbedit -a nick //
[root@localhost ~]# pdbedit -a tom //
2、修改主配置文件
[root@ser1 ~]# 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@ser1 samba]# setfacl -m u:tom:rwx/usr/src/ //给tom设置acl权限
3、启动服务
[root@ser1 ~]# service smb restart
关闭 SMB 服务: [确定]
关闭 NMB 服务: [确定]
启动 SMB 服务: [确定]
启动 NMB 服务: [确定]
4、客户端验证
Windows:
UNC路径\\192.168.10.10
实验三:
Samba账户别名与访问地址控制
把普通帐户nick设置别名为kaka
设置只允许192.168.10.10地址访问
1、修改Samba用户别名文件
[root@localhost ~]# vim /etc/samba/smbusers
# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = guest pcguest smbguest
nick = kaka
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.10 //允许访问的ip地址
3、客户端测试
略…