您的位置:首页 > 其它

ACL的使用(摘抄至鸟叔的私房菜)

2016-12-04 22:31 246 查看
一.      什么是ACL与如何支持启动ACL

ACL是Access Control List的缩写,主要的目的是在提供传统的owner,group,others的read,write,execute权限之外的细部权限设定。ACL可以针对单一使用者,单一文件或目录来进行r,w,x的权限规范。

ACL主要可以针对几个项目:

l  使用者(user):可以针对使用者来设定权限;

l  群组(group):针对群组为对象来设定其权限;

l  默认属性(mask):还可以针对在该目录下在建立新文件/目录时,规范新数据的默认权限;

二.      如何启动ACL

因为近年以来Linux系统对权限细部设定的热切需求,ACL几乎已经预加入在所有常见的Linux文件系统的挂载参数中,所以你无须进行任何动作。如果你不确认,你可以使用命令dmesg | grep –i acl来查看

[lianghua@study ~]$ dmesg |grep -i acl

[    2.094025]systemd[1]: systemd 219 running in system mode. (+PAM +AUDIT +SELINUX +IMA-APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4-SECCOMP +BLKID +ELFUTILS +KMOD +IDN)

[    3.159480]SGI XFS with ACLs, security attributes, no debug enabled

三.      ACL的设定技巧:getfacl, setfacl

l  getfacl:取得某个文件/目录的ACL设定项目;

l  setfacl:设定某个目录/文件的ACL规范;

特定的单一用户的权限设定:【u:使用者:权限】,设定前加-m选项

[root@study ~]# touch acl_test1

[root@study ~]# setfacl -m u:lianghua1:rx acl_test1

[root@study ~]# ll acl_test1

-rw-r-xr--+ 1 root root 0 12月  4 21:18 acl_test1

如果一个文件设定了ACL参数后,它的权限部分就会多出一个”+”号。

使用getfacl查看

[root@study ~]# getfacl acl_test1

# file: acl_test1

# owner: root

# group: root

user::rw-

user:lianghua1:r-x

group::r--

mask::r-x

other::r—

特定的单一群组的权限设定:【g:群组名:权限】

[root@study ~]# setfacl -m g:lianghua1:rx acl_test1

[root@study ~]# getfacl acl_test1

# file: acl_test1

# owner: root

# group: root

user::rw-

user:lianghua1:r-x

group::r--

group:lianghua1:r-x

mask::r-x

other::r—

针对有效权限设定:【m:权限】

[root@study ~]# setfacl -m m:r acl_test1

[root@study ~]# getfacl acl_test1

# file: acl_test1

# owner: root

# group: root

user::rw-

user:lianghua1:r-x              #effective:r--

group::r--

group:lianghua1:r-x           #effective:r--

mask::r--

other::r—

mask表示有效权限,它的意义是:使用者或群组所设定的权限必须要存在于mask的权限范围内才会生效。

使用默认权限设定目录未来文件的ACL权限继承【d:[u|g]:[user|group]:权限】,可以使设置了ACL权限的目录下的新目录或文件可以继承父目录的ACL权限。

setfacl –b 目录/文件:去除ACL属性

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐