Налаштування без паролів 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 / Kali / Antix, група за умовчанням для sudo - це добре, sudo .

Тож додати без паролів sudo підтримкою без до системи на базі Debian, такі дії:

  1. Встановити sudo

    У Debian, залежно від параметрів установки, ви часто закінчуєтесь без sudoвстановлення за замовчуванням.

    Якщо пакет sudoне встановлений (наприклад, у вас немає /etc/sudoers), запустіть як root:

    # apt install sudo
    
  2. Додайте користувача до групи судо

    Додайте користувача до групи 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 використання 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.