【发布时间】:2014-02-08 06:25:17
【问题描述】:
我正在尝试创建一个以用户执行 sudo -s 命令开始的 bash 脚本。
这是我的脚本:
#!/bin/bash
SSH_USER=testuser
SUDO_PASSWD=secretpassword
FILE=/www/a/logs/service.log
MACHINES=( 'machine1' );
for HOST in ${MACHINES[@]}; do
ssh -t -l "$SSH_USER" "$HOST" "echo '$SUDO_PASSWD' | sudo -Ss chmod 777 $FILE"
done
我觉得这个脚本不应该提示我输入密码,但它会提示。我不想输入 30 次不同的密码。我尝试了多个版本,将密码硬编码到脚本中,但仍然提示我输入密码。请帮帮我。我对创建 bash 脚本非常陌生,需要一些认真的指导。
【问题讨论】:
-
我已尝试修复您的代码格式,但该格式已损坏。请检查我是否无意中更改了内容。
-
最重要的是:不要硬编码你的root密码!如果您对安全性有一点担心,那正是您不应该做的事情。
-
我知道,硬编码我的密码是最终的禁忌,但我需要这样做一次。这个脚本不是一个 cronjob,它会运行一次,就是这样。脚本运行后,我将删除其内容。
-
我现在看到错误“[sudo] testuser 的密码:与
的连接已关闭 -
但是
chmod发生了吗?不确定这实际上是一个错误。