linux系统中的RWX权限、特殊权限、隐藏权限都是对某一类用户设置的,
而如果希望对某个指定的用户进行单独的权限设置的话就需要用到文件的
访问控制权限了。
我们可以对普通文件或目录进行设置ACL,通俗来说ACL就是设置指定的特定用户或
用户组对某个文件的操作权限。
如果对某个目录设置了访问控制策略,那么子文件则继承其访问控制策略,而若对文件
设置了访问控制策略,则不再继承上级目录的控制策略。
- getfacl 命令用于显示文件的ACL规则,格式为“getconf 文件名”
[root@localhost ~]# getfacl /root getfacl: Removing leading '/' from absolute path names # file: root # owner: root # group: root user::r-x group::r-x other::---
现在,pentest用户因工作原因需要有读取root家目录文件的权限,直接尝试cd进去肯定会报错。
[root@localhost ~]# su - pentest 上一次登录:五 9月 9 14:13:46 CST 2016pts/1 上 [pentest@localhost ~]$ cd /root/ -bash: cd: /root/: 权限不够 [pentest@localhost ~]$
现在,切换到root用户设置pentest对/root有rws权限
[pentest@localhost ~]$ su - root 密码: 上一次登录:五 9月 9 14:27:33 CST 2016pts/1 上 [root@localhost ~]# setfacl -Rm u:pentest:rwx /root
再次切换到pentest用户发现可以使用ls查看/root目录了。
[root@localhost ~]# su - pentest 上一次登录:五 9月 9 14:51:06 CST 2016pts/1 上 [pentest@localhost ~]$ cd /root/ [pentest@localhost root]$ ls anaconda-ks.cfg testA testC 公共 视频 文档 音乐 initial-setup-ks.cfg testB yum 模板 图片 下载 桌面
此时再次用getfacl查看一下/root目录的权限特征吧,发现多了一条记录:user:pentest:rwx
[pentest@localhost root]$ getfacl /root/ getfacl: Removing leading '/' from absolute path names # file: root/ # owner: root # group: root user::r-x user:pentest:rwx group::r-x mask::rwx other::---