要检查,如果用户确实有sudo(一次在多个服务器上),我正在使用以下命令:
echo -e "$Password" | ssh -tt -q $Username@$Server "sudo -S -p '' echo ok" 2>&1
这种方法似乎可行,但前提是必须接受密码。如果(出于某种原因)再次询问您密码,该命令将挂起,并且整个脚本将随之挂起。
如果不接受密码,是否可以强制结束此命令?
答案 0 :(得分:3)
命令未挂起。正在等待。
您已指定sudo
命令应从stdin(-S
)中读取密码,而不提示用户输入密码(-p ''
)。如果您输入了错误的密码,sudo
将等待您重试(默认情况下为3次)。
无论是在命令行上还是在sudo
配置文件中,我都找不到sudo.conf
的任何选项,该选项只允许您询问一次密码然后退出。