web-dev-qa-db-ja.com

「Sudo」でファイルからパスワードを取得する方法は?

Sudoパスワードを要求するコマンドを実行したい:

Sudo apt-get update

これは機能するはずではありません(パスワードを通常のテキストファイルpasswd.txtに保存しました):

Sudo apt-get update <~/passwd.txt

これがなぜ機能するべきかについての私の論理です。パスワードが必要な場合、ユーザーはキーボードからパスワードを入力するように求められます。ただし、stdinをリダイレクトしてpasswd.txtファイルから読み取ることは機能するはずです。

そうじゃない?

12
MichaelB

Sudoは、デフォルトでstdinからパスワードを読み取りません。 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

パスワードをファイルに保存するのは良い習慣ではないことに注意してください。あなたは読むべきです:

26
Eric Carvalho