我试图扩展在父目录下创build的子目录的ACL,但出于某种原因,我的一个组正被切换到#effective rx并且掩码正在改变。 有任何想法吗? 有一些默认的umask?
Administrator@MyServer ~ $ setfacl -md:u:Someuser:r-- somedir Administrator@MyServer ~ $ getfacl somedir/ # file: somedir/ # owner: Administrator # group: None user::rwx group::rx group:user1:rx group:user2:rwx mask:rwx other:rx default:user::rwx default:group::rx default:group:user1:rx default:group:user2:rwx default:mask:rwx default:other:rx -mkdir /somedir/somedir Administrator@MyServer ~ $ getfacl somedir/somedir # file: somedir/somedir # owner: Administrator # group: None user::rwx group::rx group:user1:rx group:user2:rwx #effective:rx mask:rx other:rx default:user::rwx default:group::rx default:group:user1:rx default:group:user2:rwx default:mask:rwx default:other:rx
你确定你已经使用了mkdir somedir/somedir而不是使用-p选项,比如mkdir -p somedir/somedir ?
由于mkdir -p在发行版<= 2014(coreutils <8.22)上有一个令人讨厌的错误,请参阅ACL与umask之间的冲突
适用于子目录的ACL条目是default:和mask :
$ getfacl somedir/ default:group:user1:rx default:group:user2:rwx default:mask:rwx default:other:rx
默认:mask:rwx ,所以子目录应该是 :
group:user1:rx group:user2:rwx mask:rwx
但是mask是mask:rx ,所以权限降到了rx:
group:user2:rwx #effective:rx mask:rx
为了更好地理解Unix组权限和ACL之间的关系,请阅读为什么组中的chmod(1)会影响ACL掩码?
mkdir -p (除非您运行Debian / Jesise,RHEL7 …) chmod g+w somedir/somedir或setfacl -m mask:rwx somedir/somedir修复你的问题setfacl -m mask:rwx somedir/somedir