samba应用示例
Samba企业应用案例需求:
1.所有员工都能够在公司内流动办公,但不管在哪电脑上工作,都要把自己文件存在Samba文件服器上.
2.各部门办公人员拥有各自的主目录,用于存放私有文档(工作相关),其他人禁止访问.
3.所有的用户都不允许使用服务器的SHELL(安全考虑).
4.制造部、财务部、管理部,都有各自的文件目录.
5.各部门目录下提供“对外”、“公共文档”、“受控文档”三个子目录.
对外:<1>允许公司所有工作人员访问,但不能修改文件.
<2>本部门文员负责维护数据
公共文档:<1>本部门员工可以访问,领导层可以访问,但不能修改.
<2>本部门文员负责维护数据
受控文档:<1>本部门主管、公司领导可以访问、其他员工禁止.
<2>本部门主管负责维护数据
注:财务部受控文档只允许总经理、财务部总监、主管访问;管理部受控文档只允许总经理、主管访问
6.公共区域:<1>所有员工均可访问
<2>网络部负责维护
7.交换区域:<1>所有员工均可读可写,禁止删除其它员工文件.
2>网络部负责维护
解决方案:
(1)首先明确需要共享5个目录,分别是:zhizao、caiwu、guanli、public、swap并且要弄清每个目录的权限。
(2)其次在zhizao、caiwu、guanli,三个目录下有分别有二级目录:guest(对外)、public(公共)、private(受控),各自的权限又不同。
(3)明确用户身份及其所属组:
user:wy、zg、jl、zj、other
group:zhizao、caiwu、guanli、lingdao、network
(4)配置/etc/samba/smb.conf的配置文件
在理清上述问题的前提下,即可根据题中要求对不同文件权限作出限定,具体指令如下:
1.所有员工都能够在公司内流动办公,但不管在哪电脑上工作,都要把自己文件存在Samba文件服器上.
yuminstall samba-common.x86_64 samba.x86_64 samba-client -y
setseboolsamba_enable_home_dirs on
semanagefcontext -a -t samba_share_t '/samba(/.*)?'
restorecon-FvvR /samba/
2.各部门办公人员拥有各自的主目录,用于存放私有文档(工作相关),其他人禁止访问.
mkdir/samba
mkdir/samba/zhizao
mkdir/samba/caiwu
mkdir/samba/guanli
mkdir/samba/public
mkdir/samba/swap
groupaddzhizao
groupaddcaiwu
groupaddguanli
groupaddlingdao
groupaddnetwork
usermod-G zhizao wy
usermod-G caiwu wy
usermod-G guanli wy
usermod-G zhizao zg
usermod-G caiwu zg
usermod-G guanli zg
usermod-G caiwu zj
usermod-G lingdao jl
3.所有的用户都不允许使用服务器的SHELL(安全考虑).
useradds /bin/false wy
useradds /bin/false zg
useradds /bin/false jl
useradds /bin/false zj
4.制造部、财务部、管理部,都有各自的文件目录.
mkdir/samba/zhizao/guest
mkdir/samba/zhizao/public
mkdir/samba/zhizao/private
mkdir/samba/caiwu/guest
mkdir/samba/caiwu/public
mkdir/samba/caiwu/private
mkdir/samba/guanli/guest
mkdir/samba/guanli/public
mkdir/samba/guanli/private
5.各部门目录下提供“对外”、“公共文档”、“受控文档”三个子目录.
对外:
<1>允许公司所有工作人员访问,但不能修改文件.
chmod755 /samba/zhizao/guest
chmod755 /samba/caiwu/guest
chmod755 /samba/guanli/guest
<2>本部门文员负责维护数据
chownwy.zhizao /samba/zhizao/guest
chownwy.caiwu /samba/caiwu/guest
chownwy.guanli /samba/guanli/guest
公共文档:
<1>本部门员工可以访问,领导层可以访问,但不能修改.
chmod750 /samba/zhizao/public
chownwy.zhizao /samba/zhizao/public
setfacl-m g:lingdao:rx /samba/zhizao/public
chmod750 /samba/caiwu/public
chownwy.caiwu /samba/caiwu/public
setfacl-m g:lingdao:rx /samba/caiwu/public
chmod750 /samba/guanli/public
chownwy.guanli /samba/guanli/public
setfacl-m g:lingdao:rx /samba/guanli/public
<2>本部门文员负责维护数据
chownwy.zhizao /samba/zhizao/public
chownwy.caiwu /samba/caiwu/public
chownwy.guanli /samba/guanli/public
受控文档:
<1>本部门主管、公司领导可以访问、其他员工禁止.
chmod750 /samba/zhizao/private
chmod700 /samba/caiwu/private
setfacl-m u:zj:rx /samba/caiwu/private
setfacl-m u:jl:rx /samba/caiwu/private
chmod700 /samba/guanli/private
setfacl-m u:jl:rx /samba/guanli/private
<2>本部门主管负责维护数据
chownzg.lingdao /samba/zhizao/private
chownzg /samba/caiwu/private
chownzg /samba/guanli/private
注:财务部受控文档只允许总经理、财务部总监、主管访问;管理部受控文档只允许总经理、主管访问
6.公共区域:<1>所有员工均可访问
chmod775 /samba/public
<2>网络部负责维护
chgrpnetwork /samba/public
7.交换区域:<1>所有员工均可读可写,禁止删除其它员工文件.
chmod1777 /samba/swap
2>网络部负责维护
chgrpnetwork /samba/swap
其配置文件/etc/samba/smb.conf修改如下:
[homes]
comment= Home Directories
path= /samba
browseable= yes
writable= yes
; validusers = %S
; validusers = MYDOMAIN\%S
[zhizao]
path= /samba/zhizao
writable= yes
browseable= yes
[guest]
path= /samba/zhizao/guest
browseable= no
adminusers = wy
[public]
path= /samba/zhizao/public
validusers = @zhizao @lingdao
browseable= no
adminusers = wy
[private]
path= /samba/zhizao/private
validusers = zg @lingdao
browseable= no
adminusers = zg
[caiwu]
path= /samba/caiwu
writable= yes
browseable= yes
[guest]
path= /samba/caiwu/guest
browseable= no
adminusers = wy
[public]
path= /samba/caiwu/public
validusers = @caiwu @lingdao
browseable= no
adminusers = wy
[private]
path= /samba/caiwu/private
validusers = zg zj jl
browseable= no
adminusers = zg
[guanli]
path= /samba/guanli
writable= yes
browseable= yes
[guest]
path= /samba/guanli/guest
browseable= no
adminusers = wy
[public]
path= /samba/guanli/public
browseable= no
validusers = @guanli @lingdao
adminusers = wy
[private]
path= /samba/guanli/private
browseable= no
validusers = zg jl
adminusers = zg
[public]
path= /samba/public
public= yes
adminusers = yes
[swap]
path= /samba/swap
public= yes
writable= yes
adminusers = @network
测试:创建用户xinhao,使其组为zhizao,分别登陆zhizao、caiwu、guanli、swap和public的文件夹,观察不同文件目录
的不同权限,为了方便测试提前在每个目录下创建文件,便于观察。按下列顺序分别测试:
1、caiwu
2、guanli
3、zhizao
4、swap
5、public