使用 Linux 操作系统。
我想编写一个需要具有 sudo 访问权限的 bash 脚本 - 但由没有此访问权限和 PW 的人运行。这意味着我将让脚本仅具有执行权限,并且其中已经包含 sudo 用户名和 PW。
这样非管理员用户就会 ./run_my_script.bash 并且这个脚本会像 sudo 一样执行操作,而不会提示用户输入密码。
-- 是的,我知道我只需要执行这个脚本,所以他们不能只读取文件然后拥有 sudo PW。
使用 Linux 操作系统。
我想编写一个需要具有 sudo 访问权限的 bash 脚本 - 但由没有此访问权限和 PW 的人运行。这意味着我将让脚本仅具有执行权限,并且其中已经包含 sudo 用户名和 PW。
这样非管理员用户就会 ./run_my_script.bash 并且这个脚本会像 sudo 一样执行操作,而不会提示用户输入密码。
-- 是的,我知道我只需要执行这个脚本,所以他们不能只读取文件然后拥有 sudo PW。
短版:没有。
更长的版本:sudo 使用用户自己的密码,所以你不能把它放在脚本中。
更好的方法是配置 sudo 以便人们可以运行脚本。例如,如果脚本/usr/local/bin/root_stuff.sh
然后放置类似
Cmnd_Alias ROOTCMD = /usr/local/bin/root_stuff.sh
%users ALL=ROOTCMD, NOPASSWD: ROOTCMD
然后您的用户可以运行sudo root_stuff.sh
或者,如果这真的超出了他们的范围,请将代码放入/usr/local/bin/root_stuff_inner.sh
(在上面进行更改ROOTCMD
)并将其放入root_stuff.sh
#!/bin/sh
sudo /usr/local/bin/root_stuff.sh