Назад | Перейти на главную страницу

ubuntu: запуск файлов .sh от имени пользователя root

Как запустить сценарий .sh с привилегиями root из Ubuntu cmd? Некоторые скрипты требуют ввода пароля. Я хочу этого избежать.

Если безопасность вызывает беспокойство, я бы не стал этого делать, как уже упоминалось.

Лучше было бы использовать visudo для редактирования файла sudoers и отредактировать все команды, которые использует скрипт, которые должны быть root. Итак, весь скрипт не обязательно должен быть root, но, возможно, shutdown делает (надуманный пример), поэтому:

fooUser ALL = (ВСЕ) NOPASSWD: / sbin / reboot, / sbin / shutdown

Это означает, что fooUser сможет запускать команды перезагрузки и выключения из ВСЕ терминалы и когда они действуют как любые (ВСЕ) пользователь.

А затем в сценарии:

sudo /sbin/shutdown

Вы имеете в виду, что команда внутри сценария запрашивает пароль, или что вы просто хотите запустить ее один раз с паролем при запуске, или что у вас есть сценарий, который запускается автоматически и приостанавливается для ввода пароля?

Обычно я запускаю sudo из командной строки, и он использует привилегии root, но в противном случае вам, возможно, придется испортить файл sudoer в / etc, чтобы применить "nopasswd" к команде или сценарию, который вы используете.

Помогите всем остальным советам в ответах на ваш вопрос ... вы также можете открыть оболочку bash (Терминал), а затем ввести sudo su - введите свой пароль, который предоставит вам оболочку с привилегиями root, из которой вы сможете запускать сценарии с правами root без повторного ввода пароля.

Как советуют другие: будьте осторожны

user@prompt>sudo su -
password: xXxXxXx
root@prompt> 

Отредактируйте файл sudoers с помощью команды visudo следующим образом:

%cdrom    ALL = NOPASSWD: /usr/bin/k3b

Это не очень хорошая практика для сценариев оболочки, если вы не запускаете приложение, такое как tripwire, которое обнаруживает изменения в сценарии.

Ты можешь использовать NOPASSWD в /etc/sudoers не запрашивать пароль для некоторых / всех команд / пользователей / хостов при использовании sudo.

Видеть страница руководства.