我希望特定用户递归更改特定目录的所有内容的所有者和组,并且仅更改该目录。目录是一种“收件箱”,服务在其中写入文件和子目录。
目前,我有一个管理员sudo chown
,但我希望目标所有者自己做,而不需要该用户拥有更多权限。假设原所有者是“headsman”,最终所有者应该是“audience”。两个用户都不在同一个组中。
sudo chown -R audience:watchers /usr/files/pathofdir
不太对,因为我不希望观众有无限的权限使用 chown。我的第一个猜测是尝试在 /usr/bin/chown 和 /usr/bin/chgrp 的许可下向 /etc/sudoers 添加“受众”。但这太权威了。
我想专门为观众编写一个脚本,但我不知道如何使该脚本具有正确的权限,仅此而已。
有什么好方法可以做到这一点?
您可以在 中指定一个完整的命令
sudoers
,带有参数和全部,在这种情况下,用户将有权仅使用指定的参数运行指定的命令。所以这个sudoers
条目应该可以解决你的问题:但是,我认为您应该检查 ACL,因为我怀疑使用目录上的默认 ACL 可以更轻松地处理您的问题。有关示例,请参见这篇文章。
@Lasek 指出我可能想使用 ACLS。这似乎对我有用:
可能有更简洁的语法,但这是我第一次使用
setfacl