1

我想通过在代码中指定密码而不是输入密码来切换到 RedHat 上的 bash 脚本中的 root 用户。

任何帮助将不胜感激。

谢谢

4

3 回答 3

5

在脚本中以纯文本形式存储密码并不是一个好主意。您可以使用visudo来编辑sudoers文件并允许用户在sudo不使用密码的情况下运行命令。

于 2012-06-04T14:03:50.883 回答
4

sudo 的灵活性被广泛低估了。这会导致非常糟糕的做法(如sudo su -经典球手术方法)。

更好的方法是专门允许您打算允许的命令而不使用密码

phill = NOPASSWD: /bin/ls, /usr/bin/lprm

有关更多示例,请参阅:Shell 脚本 - Sudo 权限随着时间的推移而丢失

于 2012-06-04T14:09:13.177 回答
1

让 sudo 使用 -S 标志从标准输入读取

sudo -S mkdir /mnt/somedir <<END 
password here

END   

这将让用户在 root 拥有的 /mnt 中创建一个目录

编辑:这似乎不适用于“su”命令,但我认为这个解决方案可能会有所帮助

于 2012-06-04T13:44:15.577 回答