Я делаю сценарий, который обновит мою систему (и сделает некоторые другие вещи, но это не имеет значения). Я хочу, чтобы скрипт запускал sudo apt-get update
и sudo apt-get dist-upgrade --yes
автоматически. Я использую --yes, поэтому мне не придется выбирать yes, когда он запускается; он автоматически обновляет все пакеты без необходимости что-либо делать. Тем не менее, я хочу как-то вставить свой пароль в скрипт, чтобы мне не пришлось вводить пароль, когда я его запускаю, возможно, с аргументом или чем-то еще. Вы знаете, что-то, что я могу поставить в конце, как sudo apt-get update --passwd MYPASSWORDHERE
. Я пробовал это, и это не работает, но это пример того, чего я хочу. Какой аргумент (--passwd или --password или что-то) я должен поставить в конце, чтобы сделать это?
Sudo не ведет себя тот путь из соображений безопасности. Можно повторить пароль к sudo использование-s опции, но я не предлагаю это. Даже если Вы защищаете свой сценарий от других пользователей, они могут все еще видеть, что Ваши параметры используют, например, ps -ef
.
я думаю, что Ваша проблема лучше решена путем установки эти необслуживаемые обновления пакет.
Если Ваш сценарий работает как "yourUser", Вы могли бы создать простой файл:
sudo visudo -f /etc/sudoers.d/myOverrides
с этой директивой:
yourUser ALL = NOPASSWD:/usr/bin/apt-get
можно найти полезное объяснение здесь .