
Я пишу скрипт для загрузки сборки и установки кучи пакетов. Сборка иногда занимает некоторое время, а для установки требуются привилегии root:
сделать; sudo сделать установить
Часто случается так, что когда сборка занимает некоторое время, мне нужно постоянно вводить пароль. Я хочу иметь возможность ввести его только один раз. Я мог бы вызвать скрипт с правами root, но тогда (насколько я понимаю) каждый вызов, который он делает, будет с привилегиями root. Я не хочу этого, потому что тогда, например, создается много файлов и папок, которые нельзя удалить без прав root.
так как же лучше всего это сделать?
решение1
Используйте параметр timestamp_timeout. Используйте visudo для редактирования файла sudoers:
sudo visudo
и измените строку по умолчанию так, чтобы она выглядела так:
Defaults env_reset,timestamp_timeout=60
это позволит сохранить ваш пароль в течение 60 минут.
Измените это время по желанию :)
решение2
Скрипт может содержать сами вызовы sudo. Если вы затем запустите скрипт с sudo, он охватит все sudo в скрипте и все должно быть в порядке.