实验:构建Samba共享服务器

需求描述
1.创建3个文档目录:
    /var/share/public,存放公共数据
    /var/share/training,存放技术培训资料
    /var/share/devel,存放项目开发资料

2.将/var/share/public目录共享名为pub,所有员工可访问,但是只能读取文件,不能写入

3.将/var/share/training目录共享名为peixun,只允许管理员root及技术部的员工只读访问

4.将/var/share/devel/目录共享为kaifa,要求是隐藏共享,技术部的员工都可以读取该目录中

    的文件,但是只有管理员root及kaifa项目组的员工有写入权限

5.创建2个部门组:jsb  kfb  ,创建技术部的员工js1和js2,创建开放部的员工kf1和kf2,分别使用管

    理员和上述员工账户进行测试

 

1.建立所需的用户组、用户

[root@localhost ~]# groupadd jsb[root@localhost ~]# groupadd kfb[root@localhost ~]# useradd js1 -g jsb[root@localhost ~]# useradd js2 -g jsb[root@localhost ~]# useradd kf1 -g kfb[root@localhost ~]# useradd kf2 -g kfb

2.创建共享目录

[root@localhost ~]# mkdir /var/share/public -p[root@localhost ~]# mkdir /var/share/training[root@localhost ~]# mkdir /var/share/devel

#给每个目录添加新建一些标志性空文件

[root@localhost ~]# touch /var/share/public/public_data[root@localhost ~]# touch /var/share/training/peixun.doc[root@localhost ~]# touch /var/share/devel/kaifa

#给/var/share/devel/目录其他用户加w权限,方便到时候组kfb的用户写入

[root@localhost ~]# chmod o+w /var/share/devel/[root@localhost ~]# ll -d /var/share/develdrwxr-xrwx 2 root root 4096 07-31 18:41 /var/share/devel

3.安装所需的服务器端软件包

[root@localhost ~]# yum install samba "samba-*" -y[root@localhost ~]# rpm -qa |grep sambasamba-3.0.33-3.28.el5samba-common-3.0.33-3.28.el5samba-client-3.0.33-3.28.el5samba-swat-3.0.33-3.28.el5

4.建立samba用户

[root@localhost ~]# smbpasswd -a rootNew SMB password:Retype new SMB password:Added user root.

#同样的为下面用户添加samba账号

[root@localhost ~]# smbpasswd -a js1[root@localhost ~]# smbpasswd -a js2[root@localhost ~]# smbpasswd -a kf1[root@localhost ~]# smbpasswd -a kf2

5.修改samba服务主配置文件

[root@localhost ~]# vim /etc/samba/smb.conf[root@localhost ~]# tail -14 /etc/samba/smb.conf

[pub]

 comment = Public Data
 path = /var/share/public
 writable = no      #不允许写入

[peixun]

 path = /var/share/training
 writable = no      #不允许写入
 valid users = root @jsb  #只允许特定用户或组读取

[kaifa]

 path = /var/share/devel
 write list = root @kfb  #只允许特定用户或组写入
 browseable = no    #该共享目录默认不可见

6.重启smb服务

[root@localhost ~]# service smb restart

关闭 SMB 服务:                                        [失败]

关闭 NMB 服务:                                        [失败]
启动 SMB 服务:                                        [确定]
启动 NMB 服务:                                        [确定]
[root@localhost ~]# 

7.到客户机验证

linux客户机

#下面的命令用来查看服务器共享目录的信息

[root@localhost /]# smbclient -L //192.168.1.8

测试root用户

pub目录

#创建测试目录(共享目录挂载点)

[root@localhost /]# mkdir root_test js_test kf_test[root@localhost /]# mkdir /root_test/pub[root@localhost /]# mount -t cifs -o username=root //192.168.1.8/pub /root_test/pub/Password:[root@localhost /]#

#root对于pub目录只可读不可写(ro权限)

[root@localhost /]# ls /root_test/pub/public_data[root@localhost /]# touch /root_test/pub/atouch: 无法触碰 “/root_test/pub/a”: 权限不够

peixun目录

[root@localhost /]# mkdir /root_test/peixun[root@localhost /]#  mount -t cifs -o username=root //192.168.1.8/peixun /root_test/peixun/Password:[root@localhost /]#

#root对于peixun目录只可读不可写(ro权限)

[root@localhost /]# ls /root_test/peixun/peixun.doc[root@localhost /]# mkdir /root_test/peixun/amkdir: 无法创建目录 “/root_test/peixun/a”: 输入/输出错误

kaifa目录

[root@localhost /]# mkdir /root_test/kaifa[root@localhost /]#  mount -t cifs -o username=root //192.168.1.8/kaifa /root_test/kaifa/Password:[root@localhost /]#

 #root对于kaifa目录可读可写(rw权限)

[root@localhost /]# ls /root_test/kaifa/kaifa  kf1  新建文本文档.txt[root@localhost /]# mkdir /root_test/kaifa/linux_root[root@localhost /]# ls /root_test/kaifa/kaifa  kf1  linux_root  新建文本文档.txt

测试js1用户

pub目录

[root@localhost /]# mkdir /js_test/pub[root@localhost /]# mount -t cifs -o username=js1 //192.168.1.8/pub /js_test/pub/Password:[root@localhost /]#

 #js1对于pub目录只可读不可写(ro权限)

[root@localhost /]# ls /js_test/pub/public_data[root@localhost /]# mkdir /js_test/pub/amkdir: 无法创建目录 “/js_test/pub/a”: 输入/输出错误

peixun目录

[root@localhost /]# mkdir /js_test/peixun[root@localhost /]# mount -t cifs -o username=js1 //192.168.1.8/peixun /js_test/peixun/Password:[root@localhost /]#

#js1对于peixun目录只可读不可写(ro权限) 

[root@localhost /]# ls /js_test/peixun/peixun.doc[root@localhost /]# mkdir /js_test/peixun/jsmkdir: 无法创建目录 “/js_test/peixun/js”: 输入/输出错误

kaifa目录

[root@localhost /]# mkdir /js_test/kaifa[root@localhost /]# mount -t cifs -o username=js1 //192.168.1.8/kaifa /js_test/kaifa/Password:[root@localhost /]#

#js1对于kaifa目录只可读不可写(ro权限)

[root@localhost /]# ls /js_test/kaifa/kaifa[root@localhost /]# mkdir /js_test/kaifa/amkdir: 无法创建目录 “/js_test/kaifa/a”: 输入/输出错误

测试kf1用户

测试pub目录

[root@localhost /]# mkdir /kf_test/pub[root@localhost /]# mount -t cifs -o username=kf1 //192.168.1.8/pub /kf_test/pub/Password:[root@localhost /]#

#kf1对于pub目录只可读不可写(ro权限)

[root@localhost /]# ls /kf_test/pub/public_data[root@localhost /]# mkdir /kf_test/pub/amkdir: 无法创建目录 “/kf_test/pub/a”: 输入/输出错误

测试peixun目录

[root@localhost /]# mkdir /kf_test/peixun

#kf1对于pub目录不可读不可写(不可挂载)

[root@localhost /]# mount -t cifs -o username=kf1 //192.168.1.8/peixun /kf_test/peixun/Password:mount error 13 = Permission deniedRefer to the mount.cifs(8) manual page (e.g.man mount.cifs)

测试kaifa目录

[root@localhost /]# mkdir /kf_test/kaifa[root@localhost /]# mount -t cifs -o username=kf1 //192.168.1.8/kaifa /kf_test/kaifa/Password:[root@localhost /]#

#kf1对于pub目录可读不可写(rw权限)

[root@localhost /]# ls /kf_test/kaifa/  peixun/ pub/[root@localhost /]# ls /kf_test/kaifa/kaifa  linux_root[root@localhost /]# mkdir /kf_test/kaifa/linux_kaifa[root@localhost /]# ls /kf_test/kaifa/kaifa  linux_kaifa  linux_root

windows客户机
其实通过上面linux测试,我们已经知道实验配置没有问题,实验也成功了,下面我们在到windows(win7)中看下配置的效果,这里就只测试root用户

首先打开桌面上的“计算机”,然后再地址栏输入“\\192.168.1.8\”,然后出现如下图的登录界面

 

输入用户名和密码点击确定,进入下图所示界面,kaifa目录设置为不可见,所以未显示

 

 

点击“pub”目录,得到下图界面

 

 

root用户对于pub只有读权限,所以不能新建文件

 

 

同样,root用户对peixun目录也只有可读权限,所以也不能新建文件

 

 

在地址栏输入“\\192.168.1.8.\kaifa”,得到上图,可知root对kaifa目录可读可写

windows如果无法切换用户可以在dos下多次输入以下命令删除网络缓存

C:\Users\Administrator>net use * /del

如果使用某个用户登录时选择了“记住我的凭据”而无妨切换用户登录,解决方法如下

打开“控制面板”--》“用户账户”--》“管理您的凭据”,然后将所有的windows凭据删除,
然后在进入多次输入上面的命令:net use * /del

然后切换用户登录进行其他用户的测试。