Яка різниця між групою "sudo" та "admin"?


69

Я помітив, що двом групам надаються дозволи схожого вигляду в /etc/sudoers:

# 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

Мій обліковий запис користувача з привілеями "Адміністрація системи" є в adminгрупі, і, схоже, у sudoгрупі немає користувачів. Для чого ці дві групи?

Відповіді:


55

Ubuntu 12.04 LTS та новіших версій

До sudoгрупи додаються адміністратори , але adminгрупа підтримується для зворотної сумісності. З приміток до випуску :

До Ubuntu 11.10 доступ адміністратора за допомогою інструменту sudo був наданий через adminгрупу Unix. В Ubuntu 12.04 доступ адміністратора буде наданий через sudoгрупу. Це робить Ubuntu більш узгодженим із впровадженням версії та Debian. З метою сумісності adminгрупа продовжить надавати доступ sudo / адміністратору в 12.04.

Він не створюється при новому встановленні, хоча він все ще присутній, якщо ви оновили попередні дистрибутиви. У будь-якому випадку adminгрупа відображається у /etc/sudoersфайлі.

Дивіться деталі впровадження та офіційну документацію .


Класно. Дякую! Не могли б ви додати пояснення про різницю між ALL=(ALL)та ALL=(ALL:ALL)?
весілля

Неважливо, щойно побачив відповідь у відповіді Олександра нижче ...
Весілля,

21

Ubuntu 11.10 та новіші версії

За замовчуванням sudoгрупа не використовується в Ubuntu :

  • користувач, створений під час встановлення, належить до adminгрупи, а не sudo;
  • жодного посібника чи посібника я ніколи не читав поради щодо використання sudoгрупи;
  • ніхто не відчуває необхідності використовувати sudoгрупу, тому що adminгрупа може виконувати все, що потрібно.

І навпаки, на Debian група, включена в /etc/sudoersце sudoгрупа, і немає adminгрупи. Але користувач, створений під час встановлення, не входить до цієї групи, оскільки у Debianroot увімкнено цей обліковий запис. Ви повинні робити це явно, якщо хочете.

Також Fedora схожий на Debian , rootувімкнувши та не маючи привілеїв, які користувач створює під час установки. Але адміністративна група, налаштована на яку, /etc/sudoersє більш традиційною групою wheel.

На закінчення, я думаю, що sudoв Ubuntu групового використання немає , просто це спадщина Debian .


У моїй системі Ubuntu жоден користувач не є членом sudo: grep '^sudo:' /etc/group(тільки що встановлений). Не впевнений у Debian, я щойно додав у /etc/sudoersфайл своє власне ім’я .
Лекенштейн

1
@Lekensteyn: як я вже сказав, на Debian слід чітко додати користувача до sudoгрупи, щоб отримати адміністративні привілеї: su -c "gpasswd -a $USER sudo"не потрібно змінювати /etc/sudoers. Або ви можете стояти з Debian способом використання прямого rootакаунта.
enzotib

16

Різниці в безпеці немає.

Обидва мають 100% необмежений доступ до всього, що надається ОС.

Різниця у ваших / etc / sudoers - (ALL)проти (ALL:ALL). Перший означає, що ви можете запускати команди як будь-який користувач . Друга - ви можете запускати команду як будь-який користувач, так і будь-яку групу .

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

Обидва можуть мати кореневу оболонку так:

sudo su

9
Що я не можу без біта "як будь-якої групи"?
тудор

Якщо програмі спеціально дозволено виконувати лише певну групу, тоді користувач (ALL), який не належить до цієї групи, не може виконати цю команду. Як і тут , користувачі, які перебувають у групі, adminа не в webuserгрупі, не можуть виконати firefox.
Стам Кали
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.