已经有sudo PW的bash脚本,因此它不会提示用户

时间:2013-08-06 08:22:06

标签: sudo

使用Linux操作系统。

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

这样非管理员用户就会./run_my_script.bash,这个脚本会以sudo w / o提示用户输入PW来执行操作。

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

1 个答案:

答案 0 :(得分: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