ACL 权限控制主要目的是提供传统的 owner,group,other 的 read,wirte,execute 权限之外的具体权限设置,可以针对单一用户或组来设置特定的权限
比如:某一目录权限为
drwxrwx— 2 root root 4096 03-10 13:51./acldir
用户 user 对此目录无任何权限因此无法进入此目录,同时也不适宜设置other的权限,ACL 可单独为用户 user 设置这个目录的权限,使其可以操作这个目录。
要使用 ACL 必须要有文件系统支持才行,目前绝大多数的文件系统都会支持,EXT3文件系统默认启动ACL。
# dumpe2fs -h /dev/sda2 |grep acl
Default mount options: user_xattr acl
如果支持 ACL 但是文件系统并不是默认加载此功能,可自己进行添加
# mount -o remount,acl /
同样也可以修改磁盘挂在配置文件设置默认开机加载
# vi /etc/fstab
LABEL=/ / ext3 defaults,acl 1 1
$ getfacl filename
# setfacl [-bkRd] [-m|-x acl 参数] 目标文件名
选项与参数:
-m: 设置后续的 acl 参数,不可与-x 一起使用
-x: 删除后续的 acl 参数,不可与-m 一起使用
-b: 删除所有的 acl 参数
-k: 删除默认的 acl 参数
-R: 递归设置 acl 参数
-d: 设置默认 acl 参数,只对目录有效
针对特殊用户
设置格式:u:用户账号列表:权限
权限:rwx 的组合形式
如用户列表为空,代表设置当前文件所有者权限
针对特定用户组
设置格式:g:用户组列表:权限 权限:rwx 的组合形式 如用户组列表为空,代表设置当前文件所属用户组权限 举例: