0

使用 Linux 操作系统。

我想编写一个需要具有 sudo 访问权限的 bash 脚本 - 但由没有此访问权限和 PW 的人运行。这意味着我将让脚本仅具有执行权限,并且其中已经包含 sudo 用户名和 PW。

这样非管理员用户就会 ./run_my_script.bash 并且这个脚本会像 sudo 一样执行操作,而不会提示用户输入密码。

-- 是的,我知道我只需要执行这个脚本,所以他们不能只读取文件然后拥有 sudo PW。

4

1 回答 1

2

短版:没有。

更长的版本: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
于 2013-08-06T08:30:29.887 回答