1.samba服务器目录: 企业数据目录:/companydata 公共目录:/companydata/share 销售部目录:/companydata/sales 技术部:/companydata/tech 2.企业员工情况: 总经理:gm 销售部:销售部经理 redking、员工 sky、员工 jane 技术部:技术部经理 michael、员工 bill、员工 joy 3.搭建samba文件服务器,建立公共共享目录,允许所有人访问,权限为只读,为销售部和技术部分别建立单独的目录,只可以总经理和相应部门员工访问,并且公司员工禁止访问非本部门的共享目录。 案例解析: 1.需求分析 对于建立公共目录public字段就可以实现匿名访问,员工只能访问本部门的共享目录,禁止访问非本部门的共享目录,可以通过设置目录共享字段“browseable = no”及字段“valid users”来实现其隐藏功能和相应的访问权限。这样设置不能很好得解决同一目录多种需求的权限设置,所以需要建立独立配置文件,为每个部门建立一个组后并为每个组建立配置文件来实现隔离用户权限会比较灵活。 2. 解决方案 1)建立各部门专用共享目录 使用mkdir建立需求的共享目录以便分门别类的存储相应资料。 [root@RHEL ~]#mkdir /companydata [root@RHEL ~]#mkdir /companydata/share [root@RHEL ~]#mkdir /companydata/sales [root@RHEL ~]#mkdir /companydata/tech 同时设置/companydata共享目录的用户权限 [root@RHEL ~]#chmod –R 777 /companydata 2)添加samba服务器描述及设置smbpasswd文件 默认/etc/samba/目录下没有smbpasswd文件,要先关闭samba的tdbsam验证。 解决方法:在smb.conf文件中注释掉passdb backend = tdbsam 一行,为了指定samba用户的验证我们加上这一条smb passwd file = /etc/samba/smbpasswd,然后保存退出。 3)添加用户和组 先建立销售部组sales,技术部组tech,然后使用useradd命令添加总经理帐号gm及各个员工的帐号并加入相应的用户组。 [root@RHEL ~]#groupadd sales [root@RHEL ~]#groupadd tech [root@RHEL ~]#useradd gm [root@RHEL ~]#useradd –g sales redking [root@RHEL ~]#useradd –g sales sky [root@RHEL ~]#useradd –g sales jane [root@RHEL ~]#useradd –g tech michael [root@RHEL ~]#useradd –g tech bill [root@RHEL ~]#useradd –g tech joy 接着使用smbpasswd命令添加samba用户: [root@RHEL ~]#smbpasswd –a gm New SMB password: Retype new SMB password: Added user gm. [root@RHEL ~]#smbpasswd –a redking New SMB password: Retype new SMB password: Added user reding. [root@RHEL ~]#smbpasswd –a sky New SMB password: Retype new SMB password: Added user syk. [root@RHEL ~]#smbpasswd –a jane New SMB password: Retype new SMB password: Added user jane. [root@RHEL ~]#smbpasswd –a michael New SMB password: Retype new SMB password: Added user michael. [root@RHEL ~]#smbpasswd –a bill New SMB password: Retype new SMB password: Added user bill. [root@RHEL ~]#smbpasswd –a joy New SMB password: Retype new SMB password: Added user joy. 4)配置smb.conf文件 (1)建立单独配置文件 用户配置文件使用用户名命令,组配置文件使用组名命令。 [root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/gm.smb.conf [root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/sales.smb.conf [root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/tech.smb.conf (2)设置主配置文件smb.conf 配置smb.conf主配置文件,在global节点中添加相应字段,确保samba服务器的主配置文件可以调用独立的用户配置文件和组配置文件。 include = /etc/samba/%U.smb.conf表示使samba服务器加载/etc/samba目录下格式为“用户名.smb.conf”的配置文件。 include = /etc/samba/%G.smb.conf表示使samba服务器加载/etc/samba目录下格式为“组名.smb.conf”的配置文件。 设置共享目录/companydata/share 添加如下内容: [public] comment=public data path=/companydata/share public=yes 5)设置总经理gm配置文件 [root@RHEL ~]#vim /etc/samba/gm.smb.conf 添加如下内容: [sales] comment=sales data path=/companydata/sales writable=yes valid users=gm [tech] comment=tech data path=/companydata/tech writable=yes valid users=gm 6)设置销售部组sales配置文件 [root@RHEL ~]#vim /etc/samba/sales.smb.conf 添加如下内容: [sales] comment=sales data path=/companydata/sales writable=yes valid users=@sales,gm 7)设置技术部组tech配置文件 [root@RHEL ~]#vim /etc/samba/tech.smb.conf 添加如下内容: [tech] comment=tech data path=/companydata/tech writable=yes valid users=@tech,gm 8)开启samba服务 [root@RHEL ~]#service smb start 9)测试 分别用所设置账号进行测试 |