Задать вопрос
Mogekoff
@Mogekoff
студент кмбшник

Как запустить скрипт от имени пользователя, в котором имеются команды, выполняющиеся от root, не спрашивая пароля?

Я пишу скрипт установщик для дистрибутива Arch Linux.

1) В скрипте имеются команды, которые должны быть запущены от имени пользователя.
2) В скрипте имеются команды, которые требуют прав суперпользователя.

Я хочу, чтобы скрипт выполнялся непрерывно. То есть при выполнении sudo команд у пользователя НЕ спрашивался пароль и скрипт продолжал дальше работать.

Что я сделал: сохранил пароль от пользователя (которого заранее добавил в sudoers), запустил скрипт от имени пользователя, а в нем, в командах, которые требуют root, просто приписывал
echo $USER_PASS | sudo -S command

Казалось бы всё отлично, костыль работает, но вот незадача.

Есть одна очень неудобная команда, которую я использую в скрипте
makepkg -sri
Дело в том, что она не даёт запустить себя от root'a. Но в процессе её выполнения она сама вызывает sudo, которому я конечно же не могу задать параметр -S.

Что делать в такой ситуации? Решения нет? Забыть про непрерывность скрипта?

Сам скрипт (я только-только на этой неделе начал изучать BASH):
  • Вопрос задан
  • 4761 просмотр
Подписаться 2 Простой Комментировать
Ответ пользователя Karpion К ответам на вопрос (5)
@Karpion
Тут уже много насоветовали, я добавлю:
Если "одна очень неудобная команда" вызывает sudo - то очевидно, в её документации д.б. описано, как работать в этом случае.
Ответ написан