ACL

本文深入探讨了Linux中ACL(Access Control List)的使用,包括如何设置和查看ACL,以及如何针对特定用户、用户组和权限mask进行设置。通过示例展示了如何灵活地管理文件权限,特别是如何在不同权限之间进行权衡。

一.ACL

ACL(Access Control List):主要目的是能提供传统的owner、group、others的read、write、execute权限之外的具体权限设置。ACL可以针对单一用户,单一文件或目录来进行权限管理。


二.设置和查看

设置ACL

setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file

选项与参数

-m:设置后跟的ACL参数;

-x:删除后跟的ACL参数;


-b:删除所有的ACL设置参数;

-k:删除默认的ACL参数;

-R:递归设置ACL;

-d:设置默认ACL参数;

-n:不需要重新计算的有效权限掩码;


查看ACL

getfacl [-aceEsRLPtpndvh] file

选项与参数

-a:列出文件的ACL;

-d:列出默认的文件ACL;

-c:不显示文件默认ACL;

-e:列出有效的权限;


针对特定用户的设置

setfacl -m u:[user]:[rwx] file


针对特定用户组的设置

setfacl -m g:[group]:[rwx] file


针对有效权限mask的设置

setfack -m m:[rwx] file


针对默认权限的设置(通过目录来设置默认ACL权限设置,可以让这些属性继承到子目录下)

setfacl -m d:[ug]:[user|group]:[rwx] file


输出解释:

[root@localhost ~]# setfacl -m u:zhou:r test    ============>设置用户zhou对文件test只有r的权限

[root@localhost~]# getfacl test                          ============>ACL查看
# file: test ==================>文件名
# owner: root ==================>文件所有者
# group: root ==================>文件所有者所属组
user::rwx ==================>文件所有者的权限
user:zhou:r-- ==================>特定用户zhou的权限(r--)
group::rwx ==================>针对文件所有者所属组的权限
mask::rwx ==================>文件的默认的有效权限
other::rwx ==================>其他人拥有的权限


有效权限:设置的ACL权限必须在mask中才能生效,所谓有效权限。如:

[root@localhost auth]# setfacl -m u:zhou:rx test1 ================>设置用户zhou对文件test1有rx权限

[root@localhost~]# setfacl -m m:r test1 ================>设置mask为r--
[root@localhost~]# getfacl test1
# file: test1
# owner: root
# group: root
user::rw-
user:zhou:r-x #effective:r--
group::r--
mask::r--
other::r--


由此可见:

user:zhou:r-x #effective:r--

明确告诉我们该文件有效权限是r,所以尽管对用户zhou设置了x权限,用户zhou还是不能执行该文件;


例:

[zhou@localhost~]$ setfacl -m u:zh:rwx test1  ==========>对用户zh设置对文件test1权限为rwx
[zhou@localhost~]$ getfacl test1
# file: test1
# owner: zhou ==========>文件所有者是用户zhou
# group: zhou
user::rw- ==========>所有者zhou对文件权限为rw
user:zhou:rwx ==========>设置用户zhou对该文件ACL权限为rwx
user:zh:rwx ==========>用户zh对该文件权限为rwx
group::r--
mask::rwx
other::r--


结果发现:zhou对该文件没有执行权限,而zh有,由此可见:

1.对于同一用户,文件本身具有的权限高于ACL权限;

2.对于不是文件所属者,ACL不受影响。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值