Как автоматизировать сценарии bash, которые включают команды sudo? [дубликат]

Я добавил несколько команд в сценарий bash, и для этих команд требуется разрешение root. Затем я добавил к этим командам ключевое слово sudo. Как обычно, я добавил этот сценарий в файл crontab, чтобы автоматизировать мою задачу.

Есть ли способ предоставить root-доступ, когда он пытается запуститься автоматически?

Примечание: я использую crontab для автоматизации своего скрипта.

6
задан 18 July 2021 в 04:48

2 ответа

Да. Прочтите man sudoers sudoedit . Вы можете предоставить одному пользователю беспарольный доступ к набору команд. Вы можете указать диапазон дат для доступа, поэтому, если ваш скрипт запускается только между 03:00 и 03:15, вы можете разрешить доступ только тогда.

11
ответ дан 28 July 2021 в 11:17

Если вам не нужны другие команды в сценарии для запуска от имени пользователя без полномочий root, самым простым вариантом является удаление sudo команды изнутри скрипта, и запустите все это как root, либо добавив его в файл crontab root ( sudo crontab -e ), либо через общесистемный файл / etc / crontab указание root в пользовательском поле.

Если вам действительно нужно запускать некоторые команды от имени пользователя без полномочий root, то вы можете сделать то же самое, но сбросить привилегии для этих конкретных команд, используя sudo -u

9
ответ дан 28 July 2021 в 11:17

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

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