Настройка sudo без пароля в дистрибутивах Linux


18

Недавно я настроил обе системы: Fedora 28 и Ubuntu 18.04 и хотел бы настроить свою учетную запись основного пользователя на обеих, чтобы я мог запускать sudoкоманды без запроса пароля.

Как я могу сделать это в соответствующих системах?

Ответы:


28

Это довольно тривиально, если вы используете специальную группу Unix, называемую wheelв системах Fedora. Вам просто нужно сделать следующее:

  1. Добавьте вашего основного пользователя в wheelгруппу

    $ sudo gpasswd -a <primary account> wheel
    
  2. Включить NOPASSWD для %wheelгруппы в/etc/sudoers

    $ sudo visudo
    

    Затем закомментируйте эту строку:

    ## Allows people in group wheel to run all commands
    # %wheel        ALL=(ALL)       ALL
    

    И раскомментируйте эту строку:

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

    Сохраните этот файл с помощью Shift+ Z+ Z.

  3. Выйти и войти снова

    ПРИМЕЧАНИЕ. Этот последний шаг является обязательным, чтобы ваш рабочий стол и все соответствующие оболочки верхнего уровня были переизбраны, показывая, что ваша основная учетная запись теперь является членом группы wheelUnix.


Что изменилось бы, если бы вместо wheelвас использовалась какая-то другая группа?
Джакомо Альзетта

@GiacomoAlzetta Перейдите %wheelв эту группу.
Бармар

19

Традиционно на основе Debian распределений , таких как Debian / Ubuntu / Mint / Кали / Antix, группы по умолчанию для Sudo, ну sudo.

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

  1. устанавливать sudo

    В Debian, в зависимости от параметров установки, вы часто останетесь без sudoустановки по умолчанию.

    Если пакет sudoне установлен (например, у вас его нет /etc/sudoers), запустите от имени пользователя root:

    # apt install sudo
    
  2. Добавить пользователя в группу sudo

    Добавьте пользователя в группу sudo, если он еще не входит в группу sudo (Ubuntu и производные добавляют пользователя, автоматически созданного при установке, в группу sudo).

    При настройке первого пользователя sudo вы попадаете к первому как root:

    # gpasswd -a <primary account> sudo
    

    Если у вас уже есть sudoпользователь, рекомендуется в качестве хорошей практики безопасности настроить других пользователей в группе sudo через этого пользователя:

    $ sudo gpasswd -a <primary account> sudo
    
  3. Изменить /etc/sudoersдля добавления директивы NOPASSWD

    Затем вы редактируете строку по умолчанию /etc/sudoersдля sudoгруппы с помощью:

    $ sudo visudo
    

    и измените его с:

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

    чтобы:

    # Allow members of group sudo to execute any command, no password
    %sudo   ALL=(ALL:ALL) NOPASSWD:ALL
    
  4. Выйти и войти снова

    При входе в систему предполагаемый пользователь должен затем выйти из системы и войти в систему, чтобы изменение пользователя, принадлежащего к sudoгруппе, вступило в силу.

ПРИМЕЧАНИЕ. В Debian группа wheelчасто используется для ограничения использования PAM группой в PAM suвместо использования ее для sudoкоманды, как в дистрибутивах на основе RedHat / SuSE.

Традиционно в дистрибутивах на основе Debian для sudoкоманды используется sudoгруппа.


7

В большинстве дистрибутивов есть такая строка /etc/sudoers/:

#includedir /etc/sudoers.d

Следовательно, простой способ добавить одного пользователя - создать подходящий файл в /etc/sudoers.d/каталоге; Я обычно называю это для пользователя, который будет добавлен:

add_sudoer() {
    if ! test -n "$1"
    then echo "Usage: $0 <user>" >&2; return
    fi

    printf >"/etc/sudoers.d/$1" '%s    ALL= NOPASSWD: ALL\n' "$1"
}

Вы также можете добавить Defaults:%s !lecture, !authenticate\nи / или другие параметры в файл.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.