有时候一个文件的拥有者,所属组,其他人三种角色对文件的权限并不能完全满足、适合某一个用户所需要对文件的操作权限,这时就需要对特殊的用户单独设置权限,下面举例说明
查看home目录中linuxidc目录的访问权限
[root@linuxidc home]# getfacl linuxidc
# file: linuxidc
# owner: linuxidc
# group: linuxidc
user::rwx
group::—
other::—
可以看到只有用户linuxidc(root除外)才对自己家目录有rwx权限.所属组和其他人没有任何权限.
现在有这样一个用户,只能让他进入linuxidc目录,查看里面有哪些文件和文件内容,但是不能让他创建文件
可以先找一个存在的用户试试,看看能不能对/home/linuxidc目录做任何操作
[linuxidc@linuxidc home]$ tail -3 /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin
linuxidc:x:501:501::/home/linuxidc:/bin/bash
iaknehc:x:502:502::/home/iaknehc:/bin/bash
[iaknehc@linuxidc home]$ cd linuxidc
-bash: cd: linuxidc: Permission denied
可以看到当切换到iaknehc时,用户对linuxidc目录没有任何权限,这里只是测试了一下其他人对linuxidc的权限,其实所属组的用户也一样,可以自己试试.所以我们需要一种更灵活的权限设置方法.这就是acl.
[linuxidc@linuxidc home]$ setfacl -m u:iaknehc:rx linuxidc //将目录linuxidc的rx权限分配给用户iaknehc
[linuxidc@linuxidc home]$ getfacl linuxidc
# file: linuxidc
# owner: linuxidc
# group: linuxidc
user::rwx
user:iaknehc:r-x
group::—
mask::r-x
other::—
下面切换到iaknehc用户试试权限是否生效
[linuxidc@linuxidc home]$ su – iaknehc
Password:
[iaknehc@linuxidc ~]$ cd ..
[iaknehc@linuxidc home]$ cd linuxidc
[iaknehc@linuxidc linuxidc]$ ll //iaknehc可以进入linuxidc目录,并浏览目录中的文件
total 4
-rw-rw-r– 1 linuxidc vampire 12 May 16 23:21 linuxidc
[iaknehc@linuxidc linuxidc]$ cat vampire //iaknehc可以查看文件类容
just a test
[iaknehc@linuxidc linuxidc]$ touch test //iaknehc不能在linuxidc目录中创建文件
touch: cannot touch `test’: Permission denied
可以看到针对目录linuxidc设置的acl权限已经生效.
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143986tm