5.4 Linux文件访问控制列表

一般权限、特殊权限、隐藏权限其实有一个共性—权限是针对某一类用户设置的。如果希望对某个指定的用户进行单独的权限控制,就需要用到文件的访问控制列表(ACL)了。基于普通文件或目录设置 ACL 其实就是针对指定的用户或用户组设置文件或目录的操作权限。另外,如果针对某个目录设置了 ACL,则目录中的文件会继承其 ACL;若针对文件设置了 ACL,则文件不再继承其所在目录的 ACL。

为了更直观地看到 ACL 对文件权限控制的强大效果,我们先切换到普通用户,然后尝试进入 root 管理员的家目录中。在没有针对普通用户对 root 管理员的家目录设置 ACL之前,其执行结果如下所示:
[root@localhost ~]# su zhangxu
[zhangxu@localhost root]$ cd /root/
bash: cd: /root/: Permission denied

5.4.1 setfacl命令

setfacl 命令用于管理文件的 ACL 规则,格式为“ setfacl [ 参数 ] 文件名称”
文件的 ACL 提供的是在所有者、所属组、其他人的读/ / 执行权限之外的特殊权限控制,使用 setfacl 命令可以针对单一用户或用户组、单一文件或目录来进行读/ / 执行权限的控制。其中,针对目录文件需要使用-R 递归参数;针对普通文件则使用 -m 参数;如果想要删除某个文件的 ACL 则可以使用-b 参数。下面来设置用户在 /root 目录上的权限:
[root@localhost ~]# su zhangxu
[zhangxu@localhost root]$ cd /root
bash: cd: /root: Permission denied
[zhangxu@localhost root]$ su root
Password:
[root@localhost ~]# setfacl -Rm u:zhangxu:rwx /root
[root@localhost ~]# su zhangxu
[zhangxu@localhost root]$ cd /root
[zhangxu@localhost root]$exit

[root@localhost ~]# ls -ld /root
dr-xrwx---+ 14 root root 4096 Aug 23 16:48 /root

5.4.2 getfacl 命令

getfacl 命令用于显示文件上设置的 ACL 信息,格式为“getfacl 文件名称”。

Linux 系统中的命令就是这么又可爱又好记。想要设置 ACL,用的是 setfacl 命令;要想查看 ACL,则用的是 getfacl 命令。下面使用 getfacl 命令显示在 root 管理员家目录上设置的所有 ACL 信息。

[root@localhost ~]# getfacl /root
getfacl: Removing leading '/' from absolute path names
# file: root
# owner: root
# group: root
user::r-x
user:zhangxu:rwx
group::r-x
mask::rwx
other::---

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值