当前有一个文件
passwd
,如下;现在权限为644
[user1@node01 demo]$
[user1@node01 demo]$ pwd
/opt/demo
[user1@node01 demo]$ ll
总用量 4
-rw-r--r-- 1 user1 user1 968 8月 7 14:31 passwd
此时有个需求:想要指定用户
user2 user3
可以对这个文件拥有rwx
的权限,但是其他用户(例:user4 user5 ...
)没有,如果使用chmod 657 passwd
那么其他所有用户都会拥有权限
这里就可以使用
setfacl
,在设置之前我们可以先查看当前文件权限getfacl
命令语法
setfacl [选项] file …
命令选项
参数 | 说明 |
---|---|
-m | 修改 acl |
-x | 删除指定 acl |
-b | 删除所有 acl |
-k | 删除默认 acl |
-R | 递归 |
命令语法
getacl file …
查看文件权限信息
示例:
[root@node01 demo]# getfacl passwd
# file: passwd
# owner: user1
# group: user1
user::rw-
group::r--
other::r--
修改当前文件权限信息
示例:
设置
user2 user3
对passwd
文件拥有rwx
权限,也可以对组进行设置
[root@node01 demo]# setfacl -m user:user2:rwx passwd
[root@node01 demo]# setfacl -m user:user3:rwx passwd
[root@node01 demo]# setfacl -m group:demo:rwx passwd
设置完成,查看当前文件权限
[root@node01 demo]# getfacl passwd
# file: passwd
# owner: user1
# group: user1
user::rw-
user:user2:rwx
user:user3:rwx
group::r--
group:demo:rwx
mask::rwx
other::r--
删除
user2
的权限
[root@node01 demo]# setfacl -x user2 passwd
[root@node01 demo]# getfacl passwd
# file: passwd
# owner: user1
# group: user1
user::rw-
user:user3:rwx
group::r--
group:demo:rwx
mask::rwx
other::r--
删除所有的
acl
权限
[root@node01 demo]# setfacl -b passwd
[root@node01 demo]# getfacl passwd
# file: passwd
# owner: user1
# group: user1
user::rw-
group::r--
other::r--