Вопрос: Как настроить без пароля `sudo` на Linux?


Как можно без пароля sudo доступ должен быть настроен либо на RHEL (Fedora, CentOS и т. д.), либо на дистрибутивы Ubuntu? (Если это одинаково для дистрибутивов, это даже лучше!)

Настройка: персональное и / или лабораторное / обучающее оборудование, не заботясь о несанкционированном доступе (то есть, устройства находятся в общедоступных сетях, и всем / всем пользователям полностью доверяют, а содержимое устройств - «простой ваниль») ,


131
2017-07-15 04:09


Источник


Ответ от @Richipal - это actullay, который работает лучше всего с наименьшими усилиями: кажется, правила sudoers применяются в обратном порядке. - a1an
Правила @ a1an применяются в том же порядке, что и в файле sudoers, и поскольку они применяются, они как бы переопределяют друг друга. Следовательно, если я не хочу, чтобы правило менялось вообще, я бы поставил его в конец файла, чтобы он был применен последним и не может быть переопределен. - rsjethani


Ответы:


РЕДАКТИРОВАТЬ благодаря комментарию медины: согласно странице руководства, вы должны уметь писать

ALL            ALL = (ALL) NOPASSWD: ALL

чтобы все пользователи могли запускать все команды без пароля.


Для справки я оставляю свой предыдущий ответ:

Если вы добавите строку формы

%wheel         ALL = (ALL) NOPASSWD: ALL

в /etc/sudoers (используя visudo команда, конечно), это позволит всем в группе wheel запускать любые команды без предоставления пароля. Поэтому я считаю, что лучшим решением является размещение всех ваших пользователей в какой-то группе и создание такой строки в sudoers - очевидно, вы должны заменить wheel с фактической группой, которую вы используете.

Кроме того, вы можете определить псевдоним пользователя,

User_Alias     EVERYONE = user1, user2, user3, ...

и использовать это:

EVERYONE       ALL = (ALL) NOPASSWD: ALL

хотя вам придется обновить /etc/sudoers каждый раз, когда вы добавляете или удаляете пользователя.


148
2017-07-15 04:25



не ALL работы, а не * указать всех пользователей? См. Пример в sudoers(5), - medina
@medina: так оно и есть, я пропустил это, когда читал справочную страницу. Я отредактирую. - David Z
под Ubuntu, создав файл под /etc/sudoers.d и поместив в него эти записи, он перестанет вам редактировать sudoers - Xetius
В CentOS7 эта запись есть по умолчанию, просто прокомментирована. - killjoy
Только удалось использовать его в centOS путем копирования / вставки, не удалось выполнить все попытки ввода непосредственно конфигурации. Но результат кажется идентичным, за исключением пробелов ... - MUY Belgium


Я пробовал решения выше, но безрезультатно. Для меня работало следующее решение Отредактируйте файл / etc / sudoers и добавьте следующую строку

username ALL=(ALL) NOPASSWD: ALL

ключ заключается в том, чтобы добавить его после последней строки, которая гласит:

#includedir /etc/sudoers.d

79
2018-05-19 15:23



// Это похоже на лучший способ сделать это, особенно когда некоторые приложения будут добавлять свои собственные правила для пользователей системы, Richipal. Дополнительная информация о sudoers.d: sudo.ws/man/1.8.13/sudoers.man.html - Nathan Basanese
//, Не хотите ли вы добавить некоторые ответы от Gearoid Murphy на ваш ответ? - Nathan Basanese
Спасибо за это разъяснение. Добавление его после того, как строка #includedir /etc/sudoers.d кажется важной в CentOS 7, тогда как кажется, что она отлично работает, чтобы иметь строку ранее в файле в CentOS 6. - dmohr
Проблема с игнорированием NOPASSWD% wheel, похоже, возникает из /etc/sudoers.d/USERNAME переопределяя разрешение NOPASSWD группы. Применение NOPASSWD в /etc/sudoers.d/USERNAME решает проблему. - eel ghEEz


Я попробовал все ответы на этой странице без каких-либо полезных результатов. В конце концов, я понял, использую эту команду, чтобы перечислить ваши права sudo:

sudo -l

Это должно дать вам результат следующим образом:

User gmurphy may run the following commands on this host:
    (root) NOPASSWD: ALL
    (ALL) ALL

Он показывает, что я настроен с правами root, но я все еще являюсь частью группы (admin), соответствующей правилу sudo, которое ожидает пароль («(ALL) ALL»). Это заставляло судо подставлять меня. Правило, о котором идет речь, было администратором:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Как только я прокомментировал это, я смог судо без пароля. Надеюсь, это полезно кому-то другому.


24
2017-11-06 12:57



Ах, спасибо! Это сводило меня с ума ... в моем случае мой пользователь был частью группы «sudo», а также «admin» (которую я создал), и разрешения на каждого были неправильно согласованы, как и в вашем случае , Теперь это работает! :) - neezer
Комментирование строки - это тупой инструмент. Вам может быть интересно услышать, что «sudo читает файл sudoers и применяет разрешения в порядке сверху вниз. Таким образом, последняя строка в файле перезапишет любой предыдущий конфликт» в соответствии с ubuntuforums.org/showthread.php?t=1132821 - и это сработало для меня. - David J.


В /etc/sudoers есть пример именно этого в нижней части файла:

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

9
2017-07-15 04:24



этот образец не был у меня - но спасибо! - warren
Как ваш лаконичный ответ - Pei


Есть и другой способ сделать это, не касаясь файла sudoers.

  • редактировать /etc/pam.d/su и раскомментируйте приведенную ниже строку:

    auth           sufficient      pam_wheel.so trust use_uid
    
  • Добавьте пользователя в wheel группа.


5
2017-07-15 08:39





Есть и другой способ сделать это, не касаясь файла sudoers.

  • редактировать /etc/pam.d/sudo и добавьте строку ниже:

    auth достаточно pam_wheel.so trust use_uid
  • Добавьте пользователя в wheel группа.

Поддержки к «topdog» и «Daniel Serodio» за оригинальный ответ в отношении «su», а не «sudo». Я использовал это как ссылку и бесстыдно скопировал и исправил их сообщение.


1
2017-09-11 00:36