Linux 访问控制列表

xiyoukeke 2019-02-25

简介

随着应用的发展,传统的Linux文件系统权限控制无法适应复杂的控制需求,而ACL的出现,则是为了扩展Linux的文件权限控制,以实现更为复杂的权限控制需求。其可以针对任意的用户和用户组进行权限分配(只有root用户和以定义ACL),以及默认权限分配。

类型

针对文件所有者分配

针对文件所属的组群分配

针对额外用户分配

针对额外组群分配

其他用户分配

最大访问权限

查看ACL

getfacl [-option] [file|dic]

可选参数: -a -d -c -e -E -s -R -t -n

输出示例:

[tom@localhost abc]$ getfacl count.sh

# file: count.sh

# owner: root

# group: root

user::rw-

user:tom:rwx

user:aaa:rwx

group::r--

group:temp:rw-

mask::rwx

other::r--

配置ACL

setfacl

选项参数含义

-mACL设置设置文件的ACL

-M文件从文件中读取ACL条目进行配置

-xACL设置删除ACL

-X文件从文件中读取ACL条目并删除

-b删除所有扩展ACL

-k删除所有默认ACL

-R递归设置子目录及文件

-d设置默认ACL

-P跳过符号链接

-L跟踪符号链接

-n不重新计算有效权限

–set=ACL设置覆盖ACL配置

–mask重新计算有效权限

–resotre=文件从文件恢复备份的ACL

–test测试模式,输出结果

–set-file=文件从文件读取ACL条目进行设置

ACL规则表示方式

[d[efault]]:[u[ser]]:用户:[权限] #指定用户ACL

[d]:g:组群:[权限] #指定用户组ACL

[d]:m:[权限] #有效权限掩码(其它权限默认不能超出该权限)

[d]:o:[权限] #其它用户ACL

配置示例:

root#setfacl -m u:tom:rwx sum.sh #为用户tom指定权限

相关推荐