Sudo 命令不从 stdin 询问密码。并且失败

Sudo 命令不从 stdin 询问密码。并且失败

每当我使用 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

相关内容