如何让“sudo”从文件中获取密码?

如何让“sudo”从文件中获取密码?

我想要运行一个需要 sudo 密码的命令,例如:

sudo apt-get update

这不应该起作用吗(我已将密码存储在普通文本文件中passwd.txt):

sudo apt-get update <~/passwd.txt

这是我解释为什么它应该起作用的逻辑:当需要密码时,要求用户从键盘输入密码。但重定向到stdin从文件读取passwd.txt应该有效。

不应该吗?

答案1

sudostdin默认情况下不读取密码。来自sudo手册页:

-S  The -S (stdin) option causes sudo to read the password from the standard input instead of the terminal device.
    The password must be followed by a newline character.

因此你应该运行:

sudo -S apt-get update <~/passwd.txt

请记住,将密码存储在文件中并不是一个好习惯。您应该阅读:

相关内容