Можно ли настроить sudo так, чтобы он запрашивал пароль root вместо пароля пользователя?
На сервере настроен пользователь root и простой пользователь (назовем его простым) с ограниченными привилегиями, используемый для развертывания всех приложений, размещенных на сервере. Пользователь simple отсутствует в списке sudoers, поэтому
$ sudo command
не будет работать, потому что пароль простого не может предоставить ему привилегии root.
Иногда мне нужно запустить некоторые сценарии, которым нужен root-доступ через Capistrano (инструмент развертывания ruby), и довольно сложно написать сценарий, чтобы войти в систему как root, запустить сценарий и затем выйти из системы. Я хотел бы иметь возможность выполнить следующий оператор
$ sudo god restart tasks-group
и пусть Capistrano запрашивает у меня пароль root. В настоящее время Capistrano запрашивает пароль пользователя развертывания, который, очевидно, не является учетной записью администратора.
Я думаю, вы пытаетесь заставить sudo работать так, как это не нужно - вы не хотите добавлять «простого» пользователя в файл sudoers (пожалуйста, поправьте меня, если я ошибаюсь).
В этом случае sudo - это не тот инструмент, который вы хотите использовать, который вы хотите выпустить. su -c <command>
это запросит пароль root, выполните команду и выйдите.
В файле sudoers необходимо установить флаг, если вы хотите, чтобы пользователь аутентифицировался с помощью своего собственного пароля или через root. Флаг называется rootpw
. Sudo - очень мощный пакет, обязательно проверьте справочную страницу о sudoers (5).
Нет. Использование su
чтобы стать пользователем root, используя пароль root.
Лучшее решение - использовать капистрано. sudo
на машине развертывания для задач, которым требуется root-доступ.
Если пользователю развертывания разрешено использовать sudo, тогда он становится привилегированной учетной записью, которая может действовать в административном режиме. Это цель sudo. Или я неправильно читаю вопрос?