Linux—acl用法
今天早上来上班。自己又重新温习了下ACL的用法。ACL(access control list)。主要的目的是在提供传统的 owner,group,others 的 read,write,execute 权限之外的细部权限设定。ACL 可以针对单一使用者, 单一档案或目录來进行 r,w,x 的权限规范,对于需要特殊权限的使用状况非常有帮助。
我现在来说一下ACL的用法。
1. 我用加载一个文件为ACL。怎么加载呢?以/home为加载对象。
[root@whx home]# mount –o remount , acl /home
[root@whx ~]# mount |grep /home
/dev/hda8 on /home type ext3 (rw,acl) //说明已经加载上了。
2. ACL的基本用法。
Setfacl –[mxdb]
-m 建立一个ACL规范
-x 删除一个ACL规范
-b 删除全部的ACL规范
3. 例如在/home/project这个目录下面进行权限设置。
[root@whx home]# ls -ld project
drwxrwx--- 2 vbird1 loverwind 4096 Oct 20 05:00 project
4授权joradn用户对project具备可读、可写权限
[root@whx home]# setfacl -m u:joradn:rwx project
[root@whx home]# getfacl project
# file: project
# owner: vbird1
# group: loverwind
user::rwx
user:joradn:rwx
group::rwx
mask::rwx
other::---
5. 授权joradn用户对project具备可读、可写权限
[root@whx home]# setfacl –b u:joradn:rwx project
[root@whx home]# setfacl -x u:joradn project
[root@whx home]# getfacl project
# file: project
# owner: vbird1
# group: loverwind
user::rwx
group::rwx
mask::rwx
other::---
6. 移除所有扩展的权限
[root@whx home]# setfacl -b project
[root@whx home]# ls -ld project
drwxrwx--- 2 vbird1 loverwind 4096 Oct 20 05:00 project
上面都是针对用户。如果想针对用户组进行设置的话。请把上面的u: 换为g: 后面跟上用户组就行了。
7.如果想让一个目录里所有暂时停用此目录。你可以用mask。
[root@whx home]# setfacl -m m:rx project
[root@whx home]# getfacl project
# file: project
# owner: vbird1
# group: loverwind
user::rwx
group::rwx #effective:r-x
mask::r-x
other::---