Я добавил несколько команд в сценарий bash, и для этих команд требуется разрешение root. Затем я добавил к этим командам ключевое слово sudo. Как обычно, я добавил этот сценарий в файл crontab, чтобы автоматизировать мою задачу.
Есть ли способ предоставить root-доступ, когда он пытается запуститься автоматически?
Примечание: я использую crontab для автоматизации своего скрипта.
Да. Прочтите man sudoers sudoedit
. Вы можете предоставить одному пользователю беспарольный доступ к набору команд. Вы можете указать диапазон дат для доступа, поэтому, если ваш скрипт запускается только между 03:00 и 03:15, вы можете разрешить доступ только тогда.
Если вам не нужны другие команды в сценарии для запуска от имени пользователя без полномочий root, самым простым вариантом является удаление sudo
команды изнутри скрипта, и запустите все это как root, либо добавив его в файл crontab root ( sudo crontab -e
), либо через общесистемный файл / etc / crontab
указание root
в пользовательском поле.
Если вам действительно нужно запускать некоторые команды от имени пользователя без полномочий root, то вы можете сделать то же самое, но сбросить привилегии для этих конкретных команд, используя sudo -u