我想允许一个用户以 root 身份运行specialscript.sh
所以在我创建的他的文件夹中
-rwxr---- 1 root deployers 142 Jul 16 14:07 specialscript.sh
在 sudoers.d/specialscripts 中:
user123 ALL=(root) NOPASSWD: /home/user123/specialscript.sh
$ sudo specialscript.sh
Running script as user root
$
完美的
其他用户无法访问/home/user123
文件 - 因此它是安全的。如果某些用户将其移动到其他文件夹,它将无法工作。
但
因为用户位于组部署者中,所以他可以看到该文件的内容(这是故意的)。
但他也可以编辑这个文件。保存后所有权更改为
-rwxr---- 1 user123 user123 142 Jul 16 14:07 specialscript.sh
但他仍然可以以 root 身份运行它......
$ sudo specialscript.sh
Running script as user root
HAHAHA! I CAN RUN rm -rf!
$
目前我能看到的唯一预防措施是更改组或删除读取(这会阻止读取)或chattr +i /home/user123/specialscript.sh
但这不是明显的行为......