概述
案例——samba实现公司不同部门资料共享
一、需求
公司:devops,有三个部门:财务,市场,人力资源和一个公共区pub,每个部门的资料根据如下需求进行共享:
1、财务部门 /samba/devops_cw ,cw01财务总监有可读可写权限,财务部门员工可读,人力部门可以查看,boss01对其有管理权限。
2、市场部门 /samba/devops_sc,市场部门员工可读可写,公司员工可以查询资料,boss02对其有管理权限。
3、人力资源部门 /samba/devops_hr,hr01HR总监可读写,HR部门员工可以查询,vip用户可以查询
4、休息区 /samba/devops_pub 自己管理自己的文件
二、 需求分析
1、创建存储资料文件夹
mkdir -p /tmp/samba/devops/{devops_cw,devops_sc,devops_hr,devops_pub}
2、设置用户和用户组
groupadd devops
groupadd cw
groupadd hr
groupadd sc
[cw] //财务部门
useradd cw01 -g cw -G devops //rw(cw)
useradd cw02 -g cw -G devops //r
useradd cw03 -g cw -G devops //r
useradd boss01 -g devops //rw
-g hr r //人力部门可以查看
[sc] //市场部门
useradd sc01 -g sc -G devops //rw
useradd sc02 -g sc -G devops //rw
useradd sc03 -g sc -G devops //rw
-G devops r //devops组可以读
useradd boss02 -g devops //rw
[hr] //人力部门
useradd hr01 -g hr -G devops //rw
useradd hr02 -g hr -G devops //r
useradd hr03 -g hr -G devops //r
vip read
[pub]
rw
注意:
① 管理权限=读、写
② read=vaild user
③ write= write list
3、更改配置文件/etc/samba/smb.conf
,增加标签
299 [cw]
300 comment=devops_cw
301 path =/tmp/samba/devops/devops_cw
302 public =no
303 printable = no
304 browseable =yes
305 valid users = boss01,@cw,@hr //read list 其他用户还是可以登录
306 write list =boss01,cw01
307
308 [sc]
309 comment=devops_sc
310 path =/tmp/samba/devops/devops_sc
311 public =no
312 printable = no
313 browseable =yes
314 valid users = @devops
315 write list=boss02,@sc
316
317 [hr]
318 comment=devops_hr
319 path =/tmp/samba/devops/devops_hr
320 public =no
321 printable = no
322 browseable =yes
323 valid users =vip,@hr
324 write list=hr01
325
326 [pub]
327 comment=devops_pub
328 path =/tmp/samba/devops/devops_pub
329 public =no
330 printable = no
331 browseable =yes
332 valid users =@devops
333 write list=@devops
4、将用户添加到samba服务器中
[root@samba-server devops]# pdbedit -L
vip:515:
cw01:504:
cw03:506:
cw02:505:
sc01:507:
sc02:508:
sc03:509:
hr01:510:
hr02:511:
hr03:512:
boss01:513:
boss02:514:
5、 查看标签
[root@samba-client /]# smbclient -L //192.168.221.129/
Enter root's password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]
Sharename Type Comment
--------- ---- -------
sc Disk devops_sc
cw Disk devops_cw
share Disk share
hr Disk devops_hr
pub Disk devops_pub
6、更改文件夹权限
//权限最小化
[root@samba-server tmp]# chmod 700 -R samba/
[root@samba-server tmp]# ll
total 12
drwx------ 4 root root 4096 Jun 19 15:53 samba
[root@samba-server tmp]# chgrp devops samba/
[root@samba-server tmp]# cd samba/
[root@samba-server samba]# chgrp devops devops/
[root@samba-server samba]# ll
total 8
drwx------ 6 root devops 4096 Jun 19 14:22 devops
drwx------ 3 root root 4096 Jun 19 11:29 share
[root@samba-server samba]# chgrp cw devops/devops_cw/
[root@samba-server samba]# chgrp hr devops/devops_hr
[root@samba-server samba]# chgrp sc devops/devops_sc
[root@samba-server samba]# chgrp devops devops/devops_pub/
[root@samba-server samba]# cd devops/
[root@samba-server devops]# ll
total 16
drwx------ 3 root cw 4096 Jun 19 15:30 devops_cw
drwx------ 2 root hr 4096 Jun 19 14:22 devops_hr
drwx------ 2 root devops 4096 Jun 19 14:22 devops_pub
drwx------ 2 root sc 4096 Jun 19 14:22 devops_sc
//根据需求更改acl策略
[root@samba-server tmp]# setfacl -m g:devops:rx samba/
[root@samba-server samba]# setfacl -m g:devops:rx devops/
[root@samba-server samba]# setfacl -m g:cw:rwx devops/devops_cw/
[root@samba-server samba]# setfacl -m g:hr:rwx devops/devops_hr/
[root@samba-server samba]# setfacl -m g:sc:rwx devops/devops_sc/
[root@samba-server samba]# chmod 1777 devops/devops_pub/ //各部门人员自己需求
[root@samba-server samba]# setfacl -m u:vip:rx devops/devops_hr
[root@samba-server samba]# setfacl -m u:boss01:rwx devops/devops_cw/
[root@samba-server samba]# setfacl -m u:boss02:rwx devops/devops_sc/
[root@samba-server samba]# setfacl -m g:hr:rw devops/devops_cw //特殊人员的特定权限
7、测试
//cw01 登录cw读、写
[root@samba-client /]# smbclient //192.168.221.129/cw -U cw01
Enter cw01's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: >
smb: >
smb: > pwd
Current directory is \192.168.221.129cw
smb: > mkdir cw_test
smb: > ls
. D 0 Tue Jun 19 15:30:47 2018
.. D 0 Tue Jun 19 14:22:15 2018
cw_test D 0 Tue Jun 19 15:30:47 2018
52442 blocks of size 262144. 44598 blocks available
smb: > exit
//cw01 访问hr失败
[root@samba-client /]# smbclient //192.168.221.129/hr -U cw01
Enter cw01's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]
tree connect failed: NT_STATUS_ACCESS_DENIED
//vip可访问hr部门,但是不可写
[root@samba-client /]# smbclient //192.168.221.129/hr -U vip
Enter vip's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: > mkdir test_vip
NT_STATUS_MEDIA_WRITE_PROTECTED making remote directory test_vip
//boss02可以读写sc部门
[root@samba-client /]# smbclient //192.168.221.129/sc -U boss02
Enter boss02's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: > mkdir test_boss02
smb: > ls
. D 0 Tue Jun 19 17:24:28 2018
.. D 0 Tue Jun 19 14:22:15 2018
test_boss02 D 0 Tue Jun 19 17:24:28 2018
52442 blocks of size 262144. 44598 blocks available
//hr01可以访问pub区域,可以读写
[root@samba-client /]# smbclient //192.168.221.129/pub -U hr01
Enter hr01's password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: > mkdir test_hr01
smb: > ls
. D 0 Tue Jun 19 17:16:07 2018
.. D 0 Tue Jun 19 14:22:15 2018
test_hr01 D 0 Tue Jun 19 17:16:07 2018
52442 blocks of size 262144. 44598 blocks available
其他测试略······
最后
以上就是沉默小霸王为你收集整理的案例——samba实现公司不同部门资料共享案例——samba实现公司不同部门资料共享的全部内容,希望文章能够帮你解决案例——samba实现公司不同部门资料共享案例——samba实现公司不同部门资料共享所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复