我有一个shell脚本,该脚本读取用户输入的密码,然后稍后将该值通过ssh通过管道传递到STDIN,以实现sudo
函数。
echo "Password for ${USER}:"
read -s password
然后:
ssh -n ${host} "echo ${password} | sudo -S <some command>"
但是,如果用户输入了错误的密码,则ssh
行将失败,因为用户确实拥有sudo访问权限,但密码不正确。
bash中是否存在一种机制,可以本地验证用户密码是否正确?
sudo ls
的代码并检查非0退出代码(无效)