Настройка sudo для работы без пароля

8

Я пытаюсь настроить sudo, чтобы позволить всем пользователям перезапускать apache без необходимости ввода пароля.

Помимо вопросов безопасности, почему это не работает?

Я добавил строку в / etc / sudoers: %admin ALL=NOPASSWD: /usr/sbin/apache2ctl

$sudo -l
User aidan may run the following commands on this host:
    (root) NOPASSWD: /usr/sbin/apache2ctl
    (ALL) ALL

$sudo /usr/sbin/apache2ctl
[sudo] password for aidan:

Спасибо за любую помощь.

Айдан
источник
В моем тестировании на Ubuntu 9.10 это работало. Хотите опубликовать весь файл sudoers (разрешено редактирование)?
Скотт Пак

Ответы:

6

Это должно работать нормально, если вы поставите правило %admin ALL=NOPASSWD: /usr/sbin/apache2ctl после ВСЕХ, и ваша цель состоит в том, чтобы пользователи группы администраторов запрашивали пароль для sudo для всего, кроме команды apache2ctl.

Что вы, вероятно, хотите от того, что вы сказали, так это группа пользователей, которые могут запускать и останавливать apache, скажем, apachestart. Затем:

%apachestart ALL= NOPASSWD: /usr/sbin/apache2ctl

Я думаю, вы могли бы сделать это по-настоящему всем, заменив% apachestart на ALL, но я бы порекомендовал это еще меньше.

Кайл Брандт
источник
4
В этом случае вам необходимо выйти из системы и войти в нее, если вы измените группы вошедшего в систему пользователя. (На самом деле, вам даже не нужно этого делать; вы можете использовать newgrpдля изменения групп.)
MikeyB
Отлично, спасибо. У меня это было до ВСЕХ правил. Я не думал, что это имело значение, потому что я мог видеть мое новое правилоsudo -l
aidan