linux ACL有什么用

ACL是指访问控制列表,是指一个针对文件/目录的访问控制列表,ACL用于设定用户针对文件的权限。ACL的作用:1、可以针对用户来设置权限;2、可以针对用户组来设置权限;3、子文件/目录继承父目录的权限。

linux ACL有什么用

本教程操作环境:linux7.3系统、Dell G3电脑。

ACL 是什么


ACL的全称是 Access Control List (访问控制列表) ,一个针对文件/目录的访问控制列表。它在UGO权限管理的基础上为文件系统提供一个额外的、更灵活的权限管理机制。它被设计为UNIX文件权限管理的一个补充。

ACL允许你给任何的用户或用户组设置任何文件/目录的访问权限。

Linux 系统中, ACL 可实现对单一用户设定访问文件的权限。也可以这么说,设定文件的访问权限,除了用传统方式(3 种身份搭配 3 种权限),还可以使用 ACL 进行设定。

ACL有什么用

既然是作为UGO权限管理的补充,ACL自然要有UGO办不到或者很难办到的本事,例如:

  • 可以针对用户来设置权限

  • 可以针对用户组来设置权限

  • 子文件/目录继承父目录的权限

检查是否支持ACL

ACL需要Linux内核和文件系统的配合才能工作,当前我们能见到的大多数Linux发行版本默认都是支持的。但最好还是能够先检查一下:

sudo tune2fs -l /dev/sda1 |grep “Default mount options:”
Default mount options:                 user_xattr    acl

我们能够看到默认情况下(Default mount options:)已经加入 acl 支持了。

ACL针对普通文件的设置:


setfacl命令(set设置,f文件file,acl访问控制列表)

添加文件的ACL

setfacl -m u:zx:--- 1243.txt (zx用户对1243.txt文件没有任何权限)
setfacl -m g:zx:--- 1243.txt (zx组对1243.txt文件没有任何权限)

-m参数表示modify修改,u表示针对user用户设置,zx用户名称,---表示设置的权限信息

查看文件的ACL权限

getfacl 1243.txt  (查看文件的ACL权限信息)

1.png

2.png

删除文件的ACL权限

setfacl -x u:zx  1243.txt

在设置了ACL权限后,通过查看文件信息可以看到文件权限信息列有个“+”号

3.png

移除文件的ACL权限信息:

setfacl -b 1243.txt (移除1342.txt的ACL权限信息)

4.png

ACL针对目录文件的设置


对目录文件设置ACL,是为了对目录文件里面,创建的文件进行权限控制.

mask:表示用户的最大权限范围

setfacl -m d:u:zx:r-- 123

d:default(设定默认)

用root在根目录下创建123/bbb目录文件并设置用户zx有读行权限:

5.png

6.png

可以看到后续的新建123文件都继承了之前的bbbACL权限设置zx只有读权限

7.png

相关推荐:《Linux视频教程》

以上就是linux ACL有什么用的详细内容,更多请关注其它相关文章!