文件权限特殊管理之ACL

ACL:access control list 权限访问列表

应用范围:所属主和所属组和其他用户之外的他叔用户

ACL是Linux系统权限额外支持的一项功能,需要文件系统的支持,例如:ReiserFS , EXT2 , EXT3 , EXT4 , JFS , XFS等都支持ACL功能

centos7 中:安装系统分区和装完系统之后自己手动添加的分区自动支持acl访问功能

centos6中:系统安装分区系统自动支持acl访问控制列表,自己手动添加的分区需要使用以下命令手动添加

tune2fs -o acl /dev/sdb1

mount -o acl /dev/sdb1 /mnt

添加acl列表命令

setfacl:方便记忆法 set  file  acl

格式: setfacl [option]  [[d]u|g:user:权限]  文件

                  d:代表默认,用于目录中新建的文件自动继承父文件的acl

常用选项:

                -m 添加用户或组的acl列表

                -R 对目录进行递归添加

                -M 从文件中导入acl列表

                -x 删除acl列表        

                -X 删除从文件中导入的acl列表,与-M相反        

                -d清空所有的acl列表

  一:给用户添加acl(删除acl为setfal -x u:wangnannan df)


getfacl file1 | setfacl — set- file=- file2 复制file1
的acl权限给file2

文件权限特殊管理之ACL

二:从文件中导入

文件权限特殊管理之ACL

三删除从文件导入的acl权限

4.png

四给组添加权限

3.png

五给新建的目录默认添加acl(之前acl文件中的文件和目录不会添加acl列表,只有在添加完acl之后创建的目录和文件才会继承父目录的acl)

5.png

setfacl -k 文件名       删除默认的acl(举例:在五中,acl文件下的目录会自动继承acl文件的acl权限,如果使用setfacl -l acl命令之后,再创建文件或目录将不会继承acl目录的acl权限)

mask用来影响所有者和其他人之外的最大权限:相当于自定义用户和所属组的权限的最大值不能超过mask

设置mask的值

setfacl -m m::rw|5   file

6.png

— set选项会把原有的ACL项都删除,用新的替代,需要注意的
是一定要包含UGO的设置,不能象- m一样只是添加ACL就可以.
如:
 setfacl — set u::rw,u: wang:rw,g::r,o:: – file1

acl文件的备份和恢复

mv |cp -p 命令能将复制的文件同样具有acl权限功能,但是tar命令等常见的备份命令将不会保留acl权限

六备份acl列表:

文件权限特殊管理之ACL

七恢复acl

文件权限特殊管理之ACL

原创文章,作者:wangnannan,如若转载,请注明出处:http://www.178linux.com/29419