应用场景:
两个项目组,分别是project_a, project_b;
四个用户,分别是a1,a2,b1,b2;
要求:所有文件目录在/all下,project_a下建a1,a2两个目录,project_b下建b1,b2两个目录;项目project_a, project_b之间不可以互相访问;相同部门之间可互相查看文件内容,但不可以修改,用户自己创建的文件自己可以修改。
第一步,创建2个组和4个用户,分别加入对应的附加组
[root@centos7 ~]# usermod a1 -G project_a
[root@centos7 ~]# usermod a2 -G project_a
[root@centos7 ~]# usermod b2 -G project_b
[root@centos7 ~]# usermod b1 -G project_b
第二步,创建相应的目录
[root@centos7 ~]# mkdir -p /all/{project_a,project_b}
[root@centos7 ~]# mkdir -p /all/project_a/{a1,a2}
[root@centos7 ~]# mkdir -p /all/project_b/{b1,b2}
第三步,对目录设置权限,并更改各用户目录的属主和属组
[root@centos7 ~]# chmod -R 770 /all/project_b
[root@centos7 ~]# chmod -R 770 /all/project_a
[root@centos7 ~]# chown -R a1.project_a /all/project_a/a1
[root@centos7 ~]# chown -R a2.project_a /all/project_a/a2
[root@centos7 ~]# chown -R b1.project_b /all/project_b/b1
[root@centos7 ~]# chown -R b2.project_b /all/project_b/b2
[root@centos7 ~]# chown .project_a /all/project_a
[root@centos7 ~]# chown .project_b /all/project_b
第四步,更改各用户目录的权限
[root@centos7 ~]# chmod 750 /all/project_a/a1
[root@centos7 ~]# chmod 750 /all/project_a/a2
[root@centos7 ~]# chmod 750 /all/project_b/b1
[root@centos7 ~]# chmod 750 /all/project_b/b2
注:/all目录权限使用默认权限,如修改可能造成不能访问的情况
[root@centos7 ~]# chmod 755 /all #最上这个文件夹要是755,否则几个用户不能访问
下图是设置完成后各目录和文件权限,经测试达到要求。