sudoersconfiguration允许编辑特定目录(和子目录)中的文件

如何为用户提供sudo访问权限,但限制他们只能编辑文件,并且只能指定在指定目录下的文件。 例如,我希望用户abc能够编辑/var/www/vhosts/hostabc/及其子项中的所有文件。

你可以使用sudoedit

 %editors_group ALL=(root) sudoedit /var/www/vhosts/hostabc/* 

并将所有编辑器添加到editors_group

看起来没有简单的方法。 一个旧的邮件列表post意味着几年前就讨论过这样一个function,但是看一下当前的更新日志显示,这个post的悲观是正确的,而且从来没有出现过。

你能改变这些文件的组织所有权吗? 如果可以的话,可以使用chmod g+S /var/www/vhosts/hostabc ,然后新文件也会得到那个组。 或者,也许更好,虽然不太透明,但可以使用ACL。 这些方法可以让你避免使用sudo

或者,为了扩展mattdm的build议,不要忘记,可以使用sudo来授予除root以外的用户的访问权限。 您可以为此创build一个自定义用户,即chown -R customuser:customgroup /var/www/vhosts/hostabc ,然后为customuser用户提供userabc sudo权限。 用户不用于其他任何事情,所以这样做是相当安全的。

您也不必担心使用chmod + S来确保inheritance,因为编辑将以customuser用户身份完成。