【发布时间】:2012-06-04 13:38:23
【问题描述】:
我想通过在代码中指定密码而不是输入密码来切换到 RedHat 上的 bash 脚本中的 root 用户。
我们将不胜感激。
谢谢
【问题讨论】:
我想通过在代码中指定密码而不是输入密码来切换到 RedHat 上的 bash 脚本中的 root 用户。
我们将不胜感激。
谢谢
【问题讨论】:
在脚本中以纯文本形式存储密码不是一个好主意。您可以使用visudo 编辑sudoers 文件,并允许用户使用sudo 运行命令而无需使用密码。
【讨论】:
sudo 的灵活性被广泛低估了。这导致了非常糟糕的做法(例如sudo su - canon-ball 手术方法)。
更好的方法是专门允许您打算允许的命令不使用密码:
phill = NOPASSWD: /bin/ls, /usr/bin/lprm
【讨论】:
让 sudo 使用 -S 标志从标准输入读取数据
sudo -S mkdir /mnt/somedir <<END
password here
END
这将让用户在 /mnt 中创建一个由 root 拥有的目录
编辑:这似乎不适用于“su”命令,但我认为这个解决方案可能会有所帮助
【讨论】:
<<END 是here document 的开头,最后一行END 是它的结尾。