linux高级权限管理-ACL

ACL

--查看一个文件/文件夹的ACL设置

getfacl  文件名

--针对一个用户对文件进行ACL设置

setfacl -m u:nash_su:rwx  文件名 #两个冒号分隔成三部分u:添加一个用户权限设置,冒号后面是添加的用户,后面跟的是权限

--针对一个组对文件进行ACL设置:

setfacl -m g:training:rw 文件名     #同上只不过换成了g 组名

--删除一个ACL设置

setfacl -x u:nash_su 文件名

[root@zq ~]# useradd zq1
[root@zq ~]# groupadd pp
[root@zq ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg
[root@zq ~]# touch yy.net
[root@zq ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  yy.net
[root@zq ~]# getfacl yy.net 
# file: yy.net
# owner: root
# group: root
user::rw-
group::r--
other::r--

[root@zq ~]# setfacl -m u:zq1:rwx yy.net 
[root@zq ~]# getfacl yy.net 
# file: yy.net
# owner: root
# group: root
user::rw-
user:zq1:rwx
group::r--
mask::rwx
other::r--

[root@zq ~]# setfacl -m u:zq:r-x yy.net 
[root@zq ~]# getfacl yy.net 
# file: yy.net
# owner: root
# group: root
user::rw-
user:zq:r-x
user:zq1:rwx
group::r--
mask::rwx
other::r--

[root@zq ~]# setfacl -m g:pp:r-x yy.net 
[root@zq ~]# getfacl yy.net 
# file: yy.net
# owner: root
# group: root
user::rw-
user:zq:r-x
user:zq1:rwx
group::r--
group:pp:r-x
mask::rwx
other::r--

[root@zq ~]# setfacl -x u:zq1 yy.net 
[root@zq ~]# getfacl yy.net 
# file: yy.net
# owner: root
# group: root
user::rw-
user:zq:r-x
group::r--
group:pp:r-x
mask::r-x
other::r--

 实例

----假设zq1用户、组如下:

用户
pp zq1.aa
pa df.bb
pb er.cc
pc laoda

现要求为各部门、员工建立相应的工作文件夹,要求如下:

所有目录、文件保存在统一的一个文件夹下

每个部门拥有一个独立的文件夹

不同部门之间不可访问各自文件夹

每个员工在所在部门文件下拥有一个所有文件夹

同部门不同员工之间可以查看各自文件夹内容,但不可修改,用户仅能够修改自己的内容

boss组的用户对所有组的文件均有访问权限,但无修改权限

[root@zq ~]# userdel -r zq1
[root@zq ~]# useradd -G pp zq1
[root@zq ~]# useradd -G pp aa
[root@zq ~]# useradd -G pa df
[root@zq ~]# useradd -G pa bb
[root@zq ~]# useradd -G pb er
[root@zq ~]# useradd -G pb cc
[root@zq ~]# useradd -G pc laoda
[root@zq ~]# cd /
[root@zq /]# mkdi
mkdict  mkdir   
[root@zq /]# mkdir pyy.net
[root@zq /]# cd pyy.net/
[root@zq pyy.net]# mkdir pp
[root@zq pyy.net]# mkdir pa
[root@zq pyy.net]# mkdir pb
[root@zq pyy.net]# chgrp pp pp/
[root@zq pyy.net]# chgrp pa pa/
[root@zq pyy.net]# chgrp pb pb/
[root@zq pyy.net]# ls -l
总用量 0
drwxr-xr-x 2 root pa 6 5月  18 12:47 pa
drwxr-xr-x 2 root pb 6 5月  18 12:47 pb
drwxr-xr-x 2 root pp 6 5月  18 12:47 pp
[root@zq pyy.net]# chmod o-rwx pa
[root@zq pyy.net]# chmod o-rwx pb
[root@zq pyy.net]# chmod o-rwx pp
[root@zq pyy.net]# ls -l
总用量 0
drwxr-x--- 2 root pa 6 5月  18 12:47 pa
drwxr-x--- 2 root pb 6 5月  18 12:47 pb
drwxr-x--- 2 root pp 6 5月  18 12:47 pp
[root@zq pyy.net]# chmod g+s pa
[root@zq pyy.net]# chmod g+s pb
[root@zq pyy.net]# chmod g+s pp
[root@zq pyy.net]# ls -l
总用量 0
drwxr-s--- 2 root pa 6 5月  18 12:47 pa
drwxr-s--- 2 root pb 6 5月  18 12:47 pb
drwxr-s--- 2 root pp 6 5月  18 12:47 pp
[root@zq pyy.net]# cd pa/
[root@zq pa]# mkdir df
[root@zq pa]# mkdir bb
[root@zq pa]# ls
bb  df
[root@zq pa]# ll
总用量 0
drwxr-sr-x 2 root pa 6 5月  18 12:54 bb
drwxr-sr-x 2 root pa 6 5月  18 12:54 df
[root@zq pa]# chown  bb bb
[root@zq pa]# chown  df df
[root@zq pa]# ll
总用量 0
drwxr-sr-x 2 bb pa 6 5月  18 12:54 bb
drwxr-sr-x 2 df pa 6 5月  18 12:54 df
[root@zq pa]# cd ..
[root@zq pyy.net]# cd pb
[root@zq pb]# mkdir er
[root@zq pb]# mkdir cc
[root@zq pb]# ll
总用量 0
drwxr-sr-x 2 root pb 6 5月  18 12:57 cc
drwxr-sr-x 2 root pb 6 5月  18 12:57 er
[root@zq pb]# chown cc cc
[root@zq pb]# chown er er
[root@zq pb]# ll
总用量 0
drwxr-sr-x 2 cc pb 6 5月  18 12:57 cc
drwxr-sr-x 2 er pb 6 5月  18 12:57 er
[root@zq pb]# cd ..
[root@zq pyy.net]# cd pp
[root@zq pp]# mkdir zq1
[root@zq pp]# mkdir aa
[root@zq pp]# ll
总用量 0
drwxr-sr-x 2 root pp 6 5月  18 12:58 aa
drwxr-sr-x 2 root pp 6 5月  18 12:58 zq1
[root@zq pp]# chown aa aa
[root@zq pp]# chown zq1 zq1
[root@zq pp]# ll
总用量 0
drwxr-sr-x 2 aa  pp 6 5月  18 12:58 aa
drwxr-sr-x 2 zq1 pp 6 5月  18 12:58 zq1
[root@zq pp]# cd ..
[root@zq pyy.net]# ll
总用量 0
drwxr-s--- 4 root pa 24 5月  18 12:54 pa
drwxr-s--- 4 root pb 24 5月  18 12:57 pb
drwxr-s--- 4 root pp 25 5月  18 12:58 pp
[root@zq pyy.net]# setfacl -m g:pc:rx pp
[root@zq pyy.net]# setfacl -m g:pc:rx pa
[root@zq pyy.net]# setfacl -m g:pc:rx pb
[root@zq pyy.net]# getfacl 
Usage: getfacl [-aceEsRLPtpndvh] file ...
Try `getfacl --help' for more information.
[root@zq pyy.net]# getfacl pp
# file: pp
# owner: root
# group: pp
# flags: -s-
user::rwx
group::r-x
group:pc:r-x
mask::r-x
other::---
原文地址:https://www.cnblogs.com/zq6041/p/6872712.html