ACLs可以针对多个用户以及群组,其他人做出权限控制。文件系统需要挂载被ACL支持。XFS文件系统支持ACL。EXt4在7版本中默认激活ACL.但在更早的版本需要使用acl选项去挂载申请。
上图第十个字符.代表已经有了acl.+表示已经设置ALC。文件的owner可以对文件设置ACL.
getfacl:查看文件的acl设置。
-R 递归,可以查看目录里面的所有文件ACL
Mask:设置最高权限给指定的用户,group 拥有者和指定组。不会对owner和其他用户产生影响。
如:mask 为r-x 。那么其他用户以及其他组的rwx权限中,都没有w权限。
当做了特殊权限(suid,sgid,stick)是,会出现默认用户。defaulst:u:redhat:rw /directory
修改ACL -m 修改 -R 递归 -x 删除 -b 删除所有的ACL
setfacl -m u:name:rx file #对用户ACL
setfacl -m g:name:rw file #对组ACL
setfacl -m u::rw,g::rx,o::- file #用 , 逗号可以对用户,组等做出ACL
setfacl -m m::rx file #修改mask最高权限
setfacl -x u:name,g:name file #删除ACL对应的用户和组
serfacl -b file #删除该文件的ACL
Chmod 没有影响ACL设置所有组的权限,但会更新ACL mask。
ACL other和普通other权限等同。
getfacl file-A | setfacl --set-file=- file-B #B文件将会有A文件一样的ACL设置
控制默认ACL文件权限。
一个目录有默认ACL,将会对新创建的文件或者子目录自动设置。一个目录只用标准的ACL去访问控制。默认ACL没有采取对目录访问控制,只是继续。
setfacl -m d:u:name:rx directory #增加指定用户只要read权限和执行权限。
当对目录设置默认ACL时,确定用户将会对子目录访问包括执行权限。用户将不会自动获取执行权限在最近新创建文件不像新目录,新创的文件ACL mask为rw-.
setfacl -x d:u:name directory #删除默认指定用户ACL
-k 删除默认ACL。-b 删除所有的ACL。
请珍惜劳动成果,支持原创,欢迎点赞或者关注收藏,你每一次的点赞和收藏都是作者的动力,内容如有问题请私信随时联系作者,谢谢!