acl

noteId: CD0C34DAC1504F0D9F7CDEA3E4356EE8 · 原始路径:/ALL/Linux - A模块/服务配置/文件权限管理/管理文件权限 命令及具体参数/acl/acl.note

chmod只能限制:属主、属组、和其他人 这三者的权限

而acl能够更精确地具体限制到 某一用户、某一个组

安装acl:

apt install -y acl

如果acl没有默认进行挂载,则可以手工挂载:

mount -o remount,acl /

语法:

setfacl [选项] [u:(用户):(权限)],[g:(组名):(权限)] /[路径] //定义acl权限当一次性定义多个权限时,需要使用逗号‘ ,’分隔开来getfacl [路径] //查看自定义路径下的acl权限

选项:

-m:设定 ACL 权限。如果是给予用户 ACL 权限,则使用"u:用户名:权限"格式赋予;如果是给予组 ACL 权限,则使用"g:组名:权限" 格式赋予;

-x:删除指定的 ACL 权限;

-b:删除所有的 ACL 权限;

-d:设定默认 ACL 权限。只对目录生效,指目录中新建立的文件拥有此默认权限;

-k:删除默认 ACL 权限;

-R:递归设定 ACL 权限。指设定的 ACL 权限会对目录下的所有子文件生效;

使用 ls -l 查看权限时,若权限末尾有加号‘+’,则表示此目录拥有acl权限,反之则是没有进行定义acl

#使用ls-l査询时会发现,在权限位后面多了一个"+",表示此目录拥有ACL权限[root@localhost /]# getfacl project#查看/prpject目录的ACL权限#file: project <-文件名#owner: root <-文件的属主#group: tgroup <-文件的属组user::rwx <-用户名栏是空的,说明是属主的权限user:st:r-x <-用户st的权限group::rwx <-组名栏是空的,说明是属组的权限mask::rwx <-mask权限other::--- <-其他人的权限