每当我使用 sudo 运行任何命令时,stdin 都不会询问密码。相反,它会自动从某个地方获取密码并失败。一旦所有尝试都用尽,我的命令最终会失败。我也无法打开 sudoers 文件。
我也试过了echo PASSWORD | sudo ls
。这里也输入了错误的密码。
ank@ank-aqua-pc:server$type -a sudo
sudo is /usr/bin/sudo
ank@ank-aqua-pc:server$sudo -l
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts
答案1
正在man sudo
说(来源)
-S, --stdin 将提示写入标准错误并从标准输入读取密码,而不是使用终端设备。密码后面必须跟换行符。
并且您需要指定此密码用于哪个用户
正确的命令是
PASSWORD="abc\n" #The \n is for newline character
echo $PASSWORD | sudo -S -u <username> <command