chmod进阶 setfacl | getfacl | ACL | 权限管理细化

一、【说在前面】

玩Linux,基本大家都知道对于权限管理有 chmod 和 chown 用来更改文件的rwx权限和所有者,如果想要更加细化,则需要设置ACL。getfacl和setfacl就是用来设置ACL的。

其中getfacl是用来获取文件的acl信息的,setfacl则是用来设置的

ACL(Access Control Lists)是一种文件系统权限管理机制,允许对文件和目录的权限进行更加精细的控制。传统的 Unix 文件权限模型只允许对文件的所有者、所在组和其他用户设置权限,而 ACL 允许为任意用户或组设置特定的权限。

所以今天说一下 setfacl 命令和 getfacl 命令,这两个命令就是chmod chown的进阶版本。如果说后者是散修级别,那么 setfacl 命令和 getfacl 命令就是元婴级别。

二、【命令介绍】

setfacl [option] [acl_spec] filename

参数介绍 

-m 或 --modify
用于修改文件或目录的 ACL。
语法:setfacl -m u:username:permission file
示例:setfacl -m u:bob:rw example.txt

-x 或 --remove
用于移除文件或目录的 ACL 条目。
语法:setfacl -x u:username file
示例:setfacl -x u:bob example.txt

-b 或 --remove-all
移除文件或目录的所有 ACL。
示例:setfacl -b example.txt

-k 或 --remove-default
移除文件或目录的默认 ACL。
示例:setfacl -k directory

-d 或 --default
用于设置目录的默认 ACL,默认 ACL 会被目录下的新文件和子目录继承。
语法:setfacl -d -m u:username:rw directory
示例:setfacl -d -m u:bob:rw exampledir

-n 或 --no-mask
在设置 ACL 时不修改掩码(mask)条目。
示例:setfacl -n -m u:bob:rw example.txt

-R 或 --recursive
递归设置目录及其子目录和文件的 ACL。
示例:setfacl -R -m u:bob:rw exampledir

-P 或 --physical
不跟随符号链接,只设置符号链接本身的 ACL。

-L 或 --logical
跟随符号链接,设置符号链接指向的文件的 ACL。

-v 或 --version
显示 setfacl 的版本信息。

-h 或 --help
显示帮助信息和用法。

 

三、【效果展示】

1. getfacl

getfacl example.txt

之后会显示
# file: example.txt
# owner: user
# group: group
user::rw-
user:bob:rw-
group::r--
mask::rw-
other::r--

2. 输入ls -l发生变化

ls -l example.txt
会显示在权限位有一个+

-rw-r--r--+ 1 user group 0 Jul 15 12:00 example.txt

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值