http://book.51cto.com/art/201108/282508.htm
6.9 章节案例
在本章案例讲解中通过4个模拟项目对Samba的功能进行演示,其中第一个案例模拟一个企业中服务器全部基于RHEL5.x,客户端在访问Samba服务器时,用户认证及所有用户行为控制全部通过RHEL5.x完成。第二个案例模拟一个异构环境,在企业中已使用微软的Windows Server 2003实现了活动目录管理,希望通过Samba服务器搭建一台文件服务器,为便于客户端访问,需要将Samba中加入活动目录,其用户认证工作由活动目录完成。第三及第四个案例属于Samba服务器高级应用,通过Samba通过Windows Server 2003活动目录的域控制器及模拟DFS功能。
6.9.1 企业文件服务器搭建案例(1)
在本案例中访问Samba文件服务器时需要通过身份认证,而验证用户的工作由Samba本机系统内置账户完成。
1.案例环境
某企业需要配置一台文件服务器,使企业内员工可以方便地进行资源共享及使用网络打印机。该企业的网络拓扑如图6-60所示,企业中所有客户端全部使用的Windows XP,其中设计部计算机位于192.168.0.0/24网段、市场部计算机位于192.168.1.0/24、计划财务部计算机位于192.168.2.0/24网段。该企业组织结构如图6-61所示。企业采购的文件服务器已安装RHEL5.x,IP地址为192.168.0.2;FQDN为fs.example.com,YUM仓库及客户端已配置完成。每位员工用户建立完成并将/dev/sda10挂载到/share作为共享分区。企业对文件服务器的要求如下。
(1)计划财务部及设计部所有客户端,但公用计算机(pub.example.com)除外,可以使用该文件服务器。
(2)设计部所有客户端可以使用文件服务器上的光驱。
(3)需要一个存放内部资料的目录,所有用户只可读其中内容。
(4)每个部门有一个需要一个存放资料的公用目录,只允许该部门员工可见/可读/可写。
(5)每个部门的公用目录中的内容,除了上传文件的用户及管理员以外其他用户不能删除。
(6)每位员工有一个自己的目录,除自己可读/可写外,只有该部门经理可读。
(7)部门经理每位可在该文件服务器存放10GB文件,设计部每位员工可在该文件服务器存放15GB文件,计划财务部每位员工可在该文件服务器存放5GB文件。
图6-60 案例网络拓扑 |
图6-61 案例组织结构 |
2.案例实施
(1)在fs.example.com上安装Samba服务。
- yum -y install samba.i*
(2)在fs.example.com上配置/dev/sda10挂载参数,让该分区支持acl及硬盘配额。在/etc/fstab中将/dev/sda10的参数改为以下内容,修改完成后用mount -o remount /share命令重新载入挂载参数。
- /dev/sda10 /share ext3 defaults,acl,usrquota,grpquota 0 0
(3)在fs.example.com上根据部门建立用户组,并将用户加入相应组。
- #设计部部门组。
- groupadd design
- #计划财务部部门组。
- groupadd finance
- #部门经理组。
- groupadd manager
- #以下是将设计部所有员工初始组设置为design。
- usermod -g design davidxu
- usermod -g design tomyang
- #以下是将计划财务部所有员工初始组设置为finance。
- usermod -g finance mikeliu
- usermod -g finance janeli
- #以下是将manager组加入计划财务部及设计部二位经理的额外组。
- usermod -aG manager davidxu
- usermod -aG manager janeli
(4)在fs.example.com上建立所需目录。
- #内部资料公用目录。
- mkdir /share/public
- #设计部专用目录。
- mkdir /share/design
- #计划财务部专用目录。
- mkdir /share/finance
- #设计部公用目录。
- mkdir /share/design/public
- #计划财务部公用目录。
- mkdir /share/finance/public
- #以下是为每位员工建立专用目录
- mkdir /share/design/davidxu
- mkdir /share/design/tomyang
- mkdir /share/finance/mikeliu
- mkdir /share/finance/janeli
- #以下是为通过Sticky实现每个部门公用目录除了上传文件的用户及管理员以外其他用户不#能删除
- chmod o+t /share/design/public
- chmod o+t /share/finance/public
(5)在fs.example.com上将系统用户加入Samba服务器。
- smbpasswd -a davidxu
- smbpasswd -a tomyang
- smbpasswd -a mikeliu
- smbpasswd -a janeli
6.9.1 企业文件服务器搭建案例(2)
(6)在fs.example.com上使用如下命令修改SELinux状态。
- setsebool -P samba_domain_controller on
- setsebool -P samba_enable_home_dirs on
- setsebool -P samba_export_all_rw on
- setsebool -P smbd_disable_trans=1
- chcon -R -t samba_share_t /share
- chcon -R -t samba_share_t /bin/mount
- chcon -R -t samba_share_t /bin/umount
(7)在fs.example.com上修改smb.conf,在[global]标签下加入如下内容。
- [global]
- hosts allow = lo 192.168.0. 192.168.2. EXCEPT 192.168.0.99
- include = /etc/samba/%G.smb.conf
- include = /etc/samba/%U.smb.conf
(8)在fs.example.com上修改smb.conf文件,内容如下。
- [public]
- path = /share/public
- [cdrom]
- path = /mnt/cdrom
- root preexec = /bin/mount -t iso9660 /dev/cdrom /mnt/cdrom
- root postexec = /bin/umount /mnt/cdrom
(9)在fs.example.com上/etc/samba目录下建立以下子配置文件。
design.smb.conf
- [design]
- path = /share/design/public
- write list = @design
davidxu.smb.conf
- [davidxu]
- path = /share/design/davidxu
- write list = davidxu
- [tomyang]
- path = /share/design/tomyang
- readonly = yes
tomyang.smb.conf
- [tomyang]
- path = /share/design/tomyang
- write list = tomyang
finance.smb.conf
- [finance]
- path = /share/finance/public
- write list = @finance
mikeliu.smb.conf
- [mikeliu]
- path = /share/finance/mikeliu
- write list = mikeliu
- [janeli]
- path = /share/finance/janeli
- read only = yes
janeli.smb.conf
- [janeli]
- path = /share/finance/janeli
- write list = janeli
(10)在fs.example.com上设置目录自身权限。
- setfacl -R -m d:g:design:rwx /share/design
- setfacl -R -m g:design:rwx/share/design
- setfacl -R -m d:g:finance:rwx /share/finance
- setfacl -R -m g:finance:rwx /share/finance
- (11)在fs.example.com上配置磁盘配额。
(11)在fs.example.com上配置磁盘配额。
(12)在fs.example.com上启动Samba服务,并设置为下次启动自动加载。
- service smb restart
- chkconfig smb on
到此Samba服务器的配置已可满足该企业的所有需求。