Fork me on GitHub

Linux命令——getfacl、setfacl

简介

ACL是Access Control List的缩写,传统的Linux权限只能针对一个用户、一个群组及非此群组的其他人设置权限而已,无法针对单一用户或个人来设计权限。ACL可以对权限进行更细致的设定。一开始是unix-like操作系统的额外支持项目,近年来ACL几乎已经默认加入在所有常见的Linux文件系统的挂载参数中(ext2/ext3/ext4/xfs等等)。所以,你几乎无须进行任何动作,ACL就可以直接使用。

下图是Kernel加载时的信息

可见,xfs这个文件系统支持ACL

getfacl

选项与参数:

-m :设置后续的 acl 参数给文件使用,不可与 -x 合用;
-x :删除后续的 acl 参数,不可与 -m 合用;
-b :移除“所有的” ACL 设置参数;
-k :移除“默认的” ACL 参数,关于所谓的“默认”参数于后续范例中介绍;
-R :递回设置 acl ,亦即包括次目录都会被设置起来;
-d :设置“默认 acl 参数”的意思!只对目录有效,在该目录新建的数据会引用此默认值

针对特定使用者设置ACL

u:[使用者帐号列表]:[rwx]

针对特定群组设置ACL

g:[群组列表]:[rwx]

设置有效权限(effective permission)

m:[rwx]

mask可以理解为允许的最大权限

ACL权限继承

使用上述方式对目录设置权限时,在该目录下创建子文件,字目录是不会继承父母来ACL权限的。要想做到继承权限,在设置ACL权限的时候必须指定-d参数,即修改修改默认权限。

getfacl

 

posted @ 2018-12-16 21:19  克拉默与矩阵  阅读(498)  评论(0编辑  收藏