如何为用户提供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用户身份完成。