Sudoers файл, включить NOPASSWD для пользователя, все команды

Предисловие

Это довольно сложный вопрос, связанный с файлом Sudoers и командой sudo в целом.

ПРИМЕЧАНИЕ. Я внес эти изменения на выделенный компьютер под управлением Ubuntu Desktop 13.04, что я использую исключительно для обучения. Я понимаю, что для NOPASSWD sudo существует огромный риск для безопасности.

Вопрос

Первоначально мое единственное изменение в файле sudoers (/ etc / sudoers) было одной строкой, спецификацией пользователя, которая должен был позволить «nicholsonjf» запускать все команды с sudo без ввода пароля (см. строку, начинающуюся с «nicholsonjf»):

# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
nicholsonjf    ALL=NOPASSWD: ALL

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

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Однако это не сработало, и я был все еще запрашивал мой пароль каждый раз, когда я запускал команду как «nicholsonjf». Мне удалось запустить только команды sudo как «nicholsonjf», как только я удалил «nicholsonjf» из групп sudo и admin.

Может кто-нибудь объяснить, почему это сработало?

Это потому, что пользователь «nicholsonjf» наследовал права sudo из двух спецификаций группы «admin» и «sudo» (см. ниже в файл sudoers), которые переопределяли пользовательскую спецификацию «nicholsonjf», потому что они были дальше в конфигурационном файле?

1
задан 16 April 2014 в 04:43

2 ответа

Для одного пользователя:

superuser ALL=(ALL) NOPASSWD:ALL

Для группы:

%supergroup  ALL=(ALL) NOPASSWD:ALL
107
ответ дан 24 May 2018 в 18:54
  • 1
    Прежде чем я прочитал этот ответ, я сделал %sudo ALL=NOPASSWD: ALL, и он работает. Я единственный, кто считает, что расширенная форма Бэкуса-Наура очень трудно понять? – Vince 22 January 2016 в 04:01
  • 2
    @Vince При использовании вашей команды я не могу sudo без пароля как пользователя без привилегий sudo. Например. sudo -u root -i работает, но sudo -u git -i не работает. – NeverEndingQueue 4 December 2016 в 14:28
  • 3
    Это гораздо более полезный ответ, чем принятый, который, хотя он и отвечает на вопрос OP, вероятно, не тот, который большинство людей достигает этой страницы через Google, который ищет. – Mahmoud Al-Qudsi 21 February 2018 в 05:26

Как упоминал Винс в комментарии, вы можете использовать эту строку:

%sudo ALL=NOPASSWD: ALL

(Это отличается от строк, показанных в ответами Vince , и он решил проблема для меня.)

-1
ответ дан 24 May 2018 в 18:54
  • 1
    @ Eliah, это не то, что отличается от других ответов. Все, что он делает, заменяет placeholder supergroup в ответе Fedir на sudo. Что дальше, другой пользователь для группы wheel? Или любая другая группа, которую пользователь использует? – muru 4 October 2017 в 14:19
  • 2
    @muru «Все, что он делает, заменяет местозаполнитель supergroup в ответе Федира на sudo. " Что? Замена supergroup на sudo в строка %supergroup ALL=(ALL) NOPASSWD:ALL дает %sudo ALL=(ALL) NOPASSWD:ALL, а не %sudo ALL=NOPASSWD: ALL. – Eliah Kagan 4 October 2017 в 14:21
  • 3
    Что, возможно, хуже, так как теперь NOPASSWD предназначен только для root в качестве целевого пользователя. Таким образом, он даже не отвечает на вопрос правильно! – muru 4 October 2017 в 14:26
  • 4
    @muru. Что такое , даже, возможно, , однако, является заменой supergroup на sudo. Это его собственный ответ, а не благодарственное сообщение или копия другого ответа. Но да, я согласен: , если они не предполагают, что , это не будет так хорошо для большинства пользователей, как методы в других ответах. (Но, особенно учитывая, что в вопросе говорится «все команды», «не все« целевые пользователи »,« я не думаю, что это действительно даже не пытается ответить на заданный вопрос »). – Eliah Kagan 4 October 2017 в 14:34
  • 5
    Это сработало для меня, и я хотел поделиться с другими пользователями :) (при необходимости удалите мой комментарий). – E. Fortes 5 October 2017 в 16:44

Другие вопросы по тегам:

Похожие вопросы: