Введите пароль только один раз для сценария, выполняющего много вызовов sudo [дубликат]

Я пишу сценарий для загрузки сборки и установки кучи пакетов. Сборка иногда занимает время, и для установки требуются привилегии суперпользователя:

make; sudo make install

Что часто случается, так это то, что когда сборка занимает некоторое время, мне нужно продолжать вводить свой пароль. Я хочу иметь возможность войти в него только один раз. Я мог бы вызвать скрипт с root-доступом, но тогда (насколько я понимаю) каждый его вызов будет с root-правами. Я не хочу этого, потому что тогда, например, создается много файлов и папок, которые нельзя удалить без корневого доступа.

так как лучше всего это сделать?

4
задан 25 March 2012 в 01:01

2 ответа

Скрипт может содержать сами вызовы sudo. Если вы затем запустите скрипт с помощью sudo, он закроет все sudos в скрипте и все будет в порядке

0
ответ дан 25 March 2012 в 01:01

Используйте параметр timestamp_timeout. Используйте visudo для редактирования файла sudoers:

sudo visudo

и измените строку настроек по умолчанию так, чтобы она выглядела следующим образом:

Defaults   env_reset,timestamp_timeout=60

. Это позволит сохранить ваш пароль в течение 60 минут.

Измените это время по своему усмотрению:)

0
ответ дан 25 March 2012 в 01:01

Другие вопросы по тегам:

Похожие вопросы: