Я хочу запустить команду, которая требует пароль sudo, скажем:
sudo apt-get update
Разве это не должно работать (я сохранил пароль в обычном текстовом файле passwd.txt
):
sudo apt-get update <~/passwd.txt
Это моя логика, объясняющая, почему он ДОЛЖЕН работать: когда требуется пароль, пользователя просят ввести пароль с клавиатуры. Но перенаправление stdin
чтения из passwd.txt
файла должно работать.
Не так ли?
expect
скрипт tcl для автоматизации таких вещей.Ответы:
sudo
не читает парольstdin
по умолчанию. Сsudo
manpage:Итак, вы должны запустить:
Имейте в виду, что хранение паролей в файлах не является хорошей практикой. Вы должны прочитать:
источник