我想向用户授予 sudo 权限,但仅限于特定路径。例如:
user@domain $> sudo touch /etc/test/directory/samplefile
该用户对不属于该用户的路径没有权限 /etc/test/directory
,并且我不想进一步开放权限,我不想让该用户成为目录组的一部分,因为这也会赋予该用户对其他目录的权限。
到目前为止,我已尝试在 /etc/sudoers 文件中添加以下内容:
user ALL:/etc/test/directory/=(ALL) NOPASSWD: ALL
但根据 visudo,该语法不正确。
关于如何实施这种方法有什么想法吗?
答案1
您可以通过以下方式做到这一点:sudo
允许用户(一个/一些/全部)以用户身份运行脚本是对该目录具有访问权限的组成员等。
这一页 - https://lifecs.likai.org/2016/02/generic-setuidsetgid-wrapper-for-scripts.html似乎很好地解决了你的问题,sudoers
建议的一行 -
ALL ALL = (script-owner) NOPASSWD: /path/to/script
运行 sudo -u script-owner /path/to/script