Как можно без пароля sudo
доступ может быть настроен на RHEL (Fedora, CentOS и т. д.) или в дистрибутивах Ubuntu? (Если то же самое в разных дистрибутивах, это даже лучше!)
Настройка: личное и / или лабораторное / учебное оборудование без опасений по поводу несанкционированного доступа (т. Е. Устройства находятся в непубличных сетях, и все / все пользователи полностью доверены, а содержимое устройств является «обычным») .
РЕДАКТИРОВАТЬ благодаря комментарию Медины: Согласно странице руководства, вы должны иметь возможность писать
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
каждый раз, когда вы добавляете или удаляете пользователя.
Я пробовал вышеуказанные решения безрезультатно. Следующее решение сработало для меня Отредактируйте файл / etc / sudoers и добавьте следующую строку
username ALL=(ALL) NOPASSWD: ALL
В ключ это добавить его после последней строки, в которой говорится
#includedir /etc/sudoers.d
Я перепробовал все ответы на этой странице, но безрезультатно. В конце концов я понял это, используйте эту команду, чтобы перечислить свои права sudo:
sudo -l
Это должно дать вам следующий результат:
User gmurphy may run the following commands on this host:
(root) NOPASSWD: ALL
(ALL) ALL
Это показывает, что я настроен с правами root, но все еще являюсь частью группы (admin), соответствующей правилу sudo, которое ожидает пароль («(ALL) ALL»). Это заставляло sudo подсказывать мне. Речь идет о правиле администраторов:
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
Как только я закомментировал это, я смог выполнить sudo без пароля. Надеюсь, это кому-то пригодится.
В пределах /etc/sudoers
в конце файла есть пример этого:
## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
Есть еще один способ сделать это, не касаясь файла sudoers.
редактировать /etc/pam.d/su
и раскомментируйте строку ниже:
auth sufficient pam_wheel.so trust use_uid
Добавить пользователя в wheel
группа.
Есть еще один способ сделать это, не касаясь файла sudoers.
редактировать /etc/pam.d/sudo
и добавьте строку ниже:
auth sufficient pam_wheel.so trust use_uid
Добавить пользователя в wheel
группа.
Реквизит «topdog» и «Daniel Serodio» за оригинальный ответ относительно «su», а не «sudo». Я использовал это как ссылку и беззастенчиво скопировал и исправил их сообщение.
Это старая ветка, но интересно, что никто не добавил системную по умолчанию authenticate
к этому списку ответов. Используя запись
Defaults !authenticate
В файле sudoers любой пользователь может использовать свои определенные sudo
команды без аутентификации по паролю. Это часть спецификации sudo по умолчанию и переносится на все платформы, как указано в OP. И, если вам нужно охватить его конкретным пользователем, попробуйте
Defaults:<user_name> !authenticate
echo -e "\n$USER ALL=(ALL) NOPASSWD: ALL\n" | sudo tee -a /etc/sudoers
sudo cat /etc/sudoers
повторно откройте терминал, убедитесь, что вас не спрашивают пароль:
sudo echo "it works!"