Пожалуйста, обратите внимание на этот код:
alias fast='echo "password" | sudo -S apt-get update && sudo -S apt-get upgrade'
У меня еще не было проблем с его использованием, но возможно ли, что если первый шаг, apt-get update
займет очень много времени, пароль будет потерян время выполнения команд apt-get upgrade
?
Я сейчас на мобильном, поэтому не могу написать подробный ответ. Однако есть и другая возможность, которая может быть подходящим компромиссом.
Вы можете настроить sudo так, чтобы он не запрашивал пароль для команды apt-get. Вы устанавливаете это с помощью команды visudo. Поскольку у меня сейчас нет доступа к моим Linux-блокам, я не могу рассказать вам, как это сделать, но вы можете попробовать прочитать справочные страницы sudoers, visudo и все, на что ссылаются эти страницы.
ПРЕДУПРЕЖДЕНИЕ: Это может потенциально позволить любому запустить любую команду apt-get. Вам нужно будет оценить, перевешивает ли удобство этого метода дополнительную угрозу безопасности.
Я почти уверен, что время для sudo составляет 15 минут.
Вы можете изменить это
sudo visudo
Добавить время ожидания к этой строке
Defaults env_reset
Таким образом, на 20 минут
Defaults env_reset,timestamp_timeout=20
но возможно ли, что если первый шаг,
blockquote>apt-get update
займет очень много времени, пароль утратит силу к тому времени, когда командыapt-get upgrade
наконец будут выполнены?Ответ - да,
sudo
может перевести тайм-аут и снова попросить вас ввести пароль.
Другой метод, который все еще небезопасен (но, по крайней мере, не требует записи пароля в файл), описан в Как запустить приложение, используя sudo без пароля?
Если вы хотите перейти к подходу, в котором вы записываете свой пароль в открытом тексте, рассмотрите возможность объединения команды в цепочку и используйте
sh
для ее выполнения:[ 1117] Таким образом,echo password | sudo sh -c "apt-get update && apt-get upgrade"
sudo
требует, чтобы вы вводили пароль только один раз, аsh
выполняется от имени пользователя root. Затем любые программы, запускаемыеsh
, автоматически запускаются с правами root.
Наконец, вы можете дважды передать пароль отдельным программам:
echo password | sudo apt-get update && echo password | sudo apt-get upgrade