linux 中 setfacl 命令
setfacl(set file access control lists)设置文件访问控制列表。
文件的ACL(访问控制列表)提供的是在所有者、所属组、其他人的读、写、执行权限以外的特殊权限控制,使用setfacl命令可以针对
单一用户或用户组、单一文件或者目录来进行、读、写、执行的控制。
001、 查看普通用户家目录的具体权限
[liujiaxin01@pc1 home]$ ls liujiaxin01 liujiaxin02 test1 [liujiaxin01@pc1 home]$ whoami ## 当前用户 liujiaxin01 [liujiaxin01@pc1 home]$ pwd ## 当前目录 /home [liujiaxin01@pc1 home]$ getfacl liujiaxin01 ## 列出用户liujiaxin01目录的具体权限 # file: liujiaxin01 # owner: liujiaxin01 # group: liujiaxin01 user::rwx group::--- other::---
002、设置用户1的家目录对用户2的权限
[liujiaxin01@pc1 home]$ ls liujiaxin01 liujiaxin02 test1 [liujiaxin01@pc1 home]$ whoami ## 当前用户 liujiaxin01 ## 设置/home/liujiaxin01目录对 用户liujiaxin02读和执行的权限 [liujiaxin01@pc1 home]$ setfacl -m u:liujiaxin02:r-x /home/liujiaxin01 [liujiaxin01@pc1 home]$ getfacl liujiaxin01/ ## 列出目录 liujiaxin01的具体权限 # file: liujiaxin01/ # owner: liujiaxin01 # group: liujiaxin01 user::rwx user:liujiaxin02:r-x ## 设置成功 group::--- mask::r-x other::---
003、对文件的权限进行设置
[liujiaxin01@pc1 ~]$ seq 10 > a.txt [liujiaxin01@pc1 ~]$ getfacl --omit-header a.txt ## 获取文件a.txt的具体权限 user::rw- group::rw- other::r-- [liujiaxin01@pc1 ~]$ setfacl -m u:liujiaxin02:rwx a.txt ## 给与liujiaxin02 文件a.txt读写执行的权限 [liujiaxin01@pc1 ~]$ getfacl --omit-header a.txt ## 查看文件a.txt的具体权限 user::rw- user:liujiaxin02:rwx group::rw- mask::rwx other::r-- [liujiaxin01@pc1 ~]$ setfacl -m u:liujiaxin02:--- a.txt ## 取消文件a.txt对用户liujiaxin02的所有权限 [liujiaxin01@pc1 ~]$ getfacl --omit-header a.txt ## 查看取消结果 user::rw- user:liujiaxin02:--- ## 取消成功 group::rw- mask::rw- other::r--
004、
[liujiaxin01@pc1 ~]$ ls a.txt [liujiaxin01@pc1 ~]$ getfacl --omit-header a.txt user::rw- group::rw- other::r-- [liujiaxin01@pc1 ~]$ ls -l total 4 -rw-rw-r--. 1 liujiaxin01 liujiaxin01 21 Sep 18 09:39 a.txt [liujiaxin01@pc1 ~]$ setfacl -m u:liujiaxin02:w-x a.txt [liujiaxin01@pc1 ~]$ getfacl --omit-header a.txt user::rw- user:liujiaxin02:-wx group::rw- mask::rwx other::r-- [liujiaxin01@pc1 ~]$ ls -l total 4 -rw-rwxr--+ 1 liujiaxin01 liujiaxin01 21 Sep 18 09:39 a.txt
005、清空acl权限; setfacl -b清空facl
[liujiaxin01@pc1 ~]$ ls a.txt [liujiaxin01@pc1 ~]$ getfacl --omit-header a.txt user::rw- user:liujiaxin02:-wx group::rw- mask::rwx other::r-- [liujiaxin01@pc1 ~]$ ls -l total 4 -rw-rwxr--+ 1 liujiaxin01 liujiaxin01 21 Sep 18 09:39 a.txt [liujiaxin01@pc1 ~]$ setfacl -b a.txt [liujiaxin01@pc1 ~]$ getfacl --omit-header a.txt user::rw- group::rw- other::r-- [liujiaxin01@pc1 ~]$ ls -l total 4 -rw-rw-r--. 1 liujiaxin01 liujiaxin01 21 Sep 18 09:39 a.txt
。