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文件中的文件和目录不会添加acl列表,只有在添加完acl之后创建的目录和文件才会继承父目录的acl)
setfacl -k 文件名 删除默认的acl(举例:在五中,acl文件下的目录会自动继承acl文件的acl权限,如果使用setfacl -l acl命令之后,再创建文件或目录将不会继承acl目录的acl权限)
mask用来影响所有者和其他人之外的最大权限:相当于自定义用户和所属组的权限的最大值不能超过mask
设置mask的值
setfacl -m m::rw|5 file
— 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
原创文章,作者:wangnannan,如若转载,请注明出处:http://www.178linux.com/29419