ACL访问控制列表的基本设置操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACL访问控制列表的基本设置操作相关的知识,希望对你有一定的参考价值。
ACL主要是针对单一用户、单一文件或目录来进行r、w、x的特殊权限,实现灵活的权限管理,除了文件的所有着,所有组和其他人,可以对更多用户设置权限。
centos7默认创建的xfs和ext4文件系统具有ACL功能。
centos6以下(包含)的版本,默认手工创建的ext4文件系统无ACL功能,手动添加的代码如下:
1.首先可以先查看下之前可有安装过acl,如下图。
2.安装代码:tune2fs -o acl /dev/sda1
3.若是安装后想卸载的代码:tune2fs -o ^acl /dev/sda1
4.无论是安装还是卸载都可用:tune2fs -l /dev/sda1|grep option该行命令通过管道过滤查看acl是否安装。
以下示例
如在app目录下存在一testdir目录,先查看其对不同用户所开放的权限,用ll命令查看现有权限为:rwxr-xr-x.
drwxr-xr-x. 3 root root 4096 Jul 21 16:37 testdir
如现有一用户刘备,为该用户单独设置一些权限用setfacl命令设置格式如下。
置默认权限
setfacl -Rm u:username:rwx 要设置的文件名/ 设置当前的权限 (R表示递归,在该可能存在别的文件 m为固定格式)
setfacl -Rm d:u:username:rwx 要设置的文件名/ 设置未来文件的权限(d 为默认,可表未来)
设置acl权限后可以清晰的看到下图标示处, 由符号点变成符号+,说明acl设置成功。
setfacl --Rm u:liubei testdir/ 对指定的文件或目录设置用户的acl权限
setfacl --Rm g:weiguo testdir/ 对指定的文件或目录设置用户组的acl权限
查看文件的acl列表命令用getfacl,格式为getfacl filename,具体格式看下图。
我们设置成功后可以测试下,首先切换用户为liubei看所有者和所有组在不是刘备的情况下看是否可以创建成功,acl的权限设置是否发挥作用。
根据上图明显查看到acl的设置生效,在所有者和所有者不是liubei的情况下文件创建成功。
ACl权限判断顺序
在文件的权限设置过程中存在权限的冲突,判断顺序为:owner > acl user > group > other。
如把文件的owner改为liubei,权限设置命令“chmod u=--- testdir/”,设置成功后登录liubei用户后在testdir目录创建文件看是否成功,
根据下图实验说明owner权限最大。
删除用户或组的acl权限,示例如下。
setfacl -x u:liubei testdir/
setfacl -x u:guanyu testdir/
setfacl -x g:weiguo testdir/
删除所有权限,清空acl属性
setfacl -b testdir
mask 权限的阀值 即权限上限
setfacm -m m:rwx testdir或 chmod g=rwx testdir
1.备份已存在的acl权限列表设置,不支持在线存储。
2.利用tar备份文件。
tar cvf filename.tar *
3.恢复文件
tar xvf filename.tar
4.恢复acl
setfacl --restore /root/aa
以上是关于ACL访问控制列表的基本设置操作的主要内容,如果未能解决你的问题,请参考以下文章