我想给予一个特定的用户在一个特定的用户recursion写权限没有失去任何现有的权限,用户可能有。 我相信我可以使用这样的东西给用户的写权限:
setfacl -R -mu:user:w dir/*
但是这个问题是它带走了用户可能已经拥有的任何现有权限。 例如,如果用户在执行setfacl命令之前具有执行权限,则将用写入权限replace执行权限。
如何在保留现有权限的同时向用户提供写入权限?
你想要什么被称为“相对权限”,这是一些setfacl实现提供的function ,基本上使用经典的chmod使用的“+/-”语法
但是,至less在RHEL7和Ubuntu 16.04 LTS上, setfacl不提供这样的function。 例如,如setfacl -m user:root:+r /root/返回一个错误,指出setfacl: Option -m: Invalid argument near character 11
如果你的setfacl实现没有这个特性,你有两种可能:
getfacl将所有 ACL输出到文件,编辑这样的文件以匹配您所需的访问权限,然后使用setfacl --restore加载/应用新的权限;