使用Linux操作系统。
我想编写一个需要具有sudo访问权限的bash脚本 - 但是由没有此访问权限和PW的人运行。 这意味着我的脚本只有执行权限,并且已经有sudo用户名和PW。
这样非管理员用户就会./run_my_script.bash,这个脚本会以sudo w / o提示用户输入PW来执行操作。
- 是的我知道我需要让这个脚本只执行,所以他们不能只读取文件然后有sudo PW。
答案 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