Как сделать «sudo» захватить пароль из файла?

9

Я хочу запустить команду, для которой требуется пароль sudo:

sudo apt-get update

Разве это не должно работать (я сохранил пароль в обычном текстовом файле passwd.txt ):

sudo apt-get update <~/passwd.txt

Это моя логика для того, почему это СЛЕДУЕТ работать: когда требуется пароль, пользователю предлагается ввести пароль с клавиатуры. Но перенаправление stdin на чтение из файла passwd.txt должно работать.

Не так ли?

    
задан MichaelB 21.07.2013 в 16:39
источник

1 ответ

23

sudo по умолчанию не считывает пароль из stdin . Из sudo manpage:

-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

Имейте в виду, что хранение паролей в файлах не является хорошей практикой. Вы должны прочитать:

ответ дан Eric Carvalho 21.07.2013 в 16:44
источник