ACL权限管理命令

命令如下:
[root@localhost ~]# getfacle 文件名
#查看ACL权限
[root@localhost ~]# setfacl 选项 文件名
#设定ACL权限
选项:

  • -m:设定 ACL 权限。如果是给予用户 ACL 权限,则使用”u:用户名:权限”格式赋予;如果是给予组 ACL 权限,则使用”g:组名:权限” 格式赋予;
  • -x:删除指定的 ACL 权限;
  • -b:删除所有的 ACL 权限;
  • -d:设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限;
  • -k:删除默认 ACL 权限;
  • -R:递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效;

如:ssh命令

[root@controller-node ~]#
[root@controller-node ~]# whereis ssh
ssh: /usr/bin/ssh /etc/ssh /usr/share/man/man1/ssh.1.gz

[root@controller-node ~]# getfacl /usr/bin/ssh
getfacl: Removing leading ‘/‘ from absolute path names
# file: usr/bin/ssh
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

控制用户:liwm 无法使用ssh

[root@controller-node ~]# setfacl -m u:liwm:rw- /usr/bin/ssh
[root@controller-node ~]# su -liwm

[root@controller-node ~]# su - liwm
[liwm@controller-node ~]$
[liwm@controller-node ~]$ ssh
-bash: /bin/ssh: Permission denied
[liwm@controller-node ~]$ su -
Password:
Last login: Sat Feb 15 00:40:10 CST 2020 from 192.168.111.1 on pts/0
[root@controller-node ~]# getfacl /usr/bin/ssh
getfacl: Removing leading ‘/‘ from absolute path names
# file: usr/bin/ssh
# owner: root
# group: root
user::rwx
user:liwm:rw-
group::r-x
mask::rwx
other::r-x
[root@controller-node ~]#