Jaka jest różnica między grupą „sudo” i „admin”?

69

Zauważyłem, że dwie grupy mają podobne uprawnienia w /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

Moje konto użytkownika z uprawnieniami „Administruj systemem” jest w admingrupie i wydaje się, że w sudogrupie nie ma żadnych użytkowników . Do czego służą te dwie grupy?

ændrük
źródło

Odpowiedzi:

55

Ubuntu 12.04 LTS i nowszy

Administratorzy są dodawani do sudogrupy, ale admingrupa jest obsługiwana w celu zapewnienia zgodności z poprzednimi wersjami. Z informacji o wersji :

Do Ubuntu 11.10 dostęp administratora za pomocą narzędzia sudo był przyznawany za pośrednictwem admingrupy Unix. W Ubuntu 12.04 dostęp administratora zostanie przyznany za pośrednictwem sudogrupy. To sprawia, że ​​Ubuntu jest bardziej spójne z implementacją upstream i Debianem. W celu zachowania zgodności admingrupa będzie nadal zapewniać dostęp sudo / administrator w 12.04.

Nie jest tworzony podczas nowej instalacji, ale nadal jest obecny, jeśli uaktualniono go z poprzednich dystrybucji. Tak czy inaczej, admingrupa pojawi się w /etc/sudoerspliku.

Zobacz szczegóły implementacji i oficjalną dokumentację .

jordicm
źródło
Chłodny. Dzięki! Czy możesz dodać wyjaśnienie różnicy między ALL=(ALL)i ALL=(ALL:ALL)?
śr.
Nieważne, właśnie zobaczyłem odpowiedź w odpowiedzi Aleksandra poniżej ...
wedi
21

Ubuntu 11.10 i wcześniejsze

Domyślnie sudogrupa nie jest używana w Ubuntu :

  • użytkownik utworzony podczas instalacji należy do admingrupy, a nie sudo;
  • bez przewodnika lub podręcznika Nigdy nie czytałem porad dotyczących korzystania z sudogrupy;
  • nikt nie odczuwa potrzeby korzystania z sudogrupy, ponieważ admingrupa może zrobić wszystko, czego potrzeba.

I odwrotnie, w Debianie włączoną grupą /etc/sudoersjest sudogrupa i nie ma admingrupy. Ale użytkownik utworzony podczas instalacji nie jest umieszczany w tej grupie, ponieważ Debian ma rootwłączone konto. Powinieneś to zrobić jawnie, jeśli chcesz.

Ponadto Fedora jest podobna do Debiana , ponieważ ma rootwłączone i nie ma domyślnych uprawnień użytkownika tworzonych podczas instalacji. Ale skonfigurowana grupa administracyjna /etc/sudoersjest bardziej tradycyjną grupą wheel.

Podsumowując, myślę, że sudow Ubuntu nie ma zastosowania dla grupy , po prostu jest to dziedzictwo Debiana .

enzotib
źródło
W moim systemie Ubuntu żaden użytkownik nie jest członkiem sudo: grep '^sudo:' /etc/group(właśnie zainstalowany). Nie jestem pewien co do Debiana, właśnie dodałem własną nazwę do /etc/sudoerspliku.
Lekensteyn
1
@ Lekensteyn: jak powiedziałem, w Debianie powinieneś jawnie dodać użytkownika do sudogrupy, aby uzyskać uprawnienia administracyjne: su -c "gpasswd -a $USER sudo"nie trzeba go modyfikować /etc/sudoers. Lub możesz stać z Debianowym sposobem korzystania bezpośrednio z rootkonta.
enzotib
16

Bez różnicy bezpieczeństwa.

Oba mają w 100% nieograniczony dostęp do wszystkiego, co zapewnia system operacyjny.

Różnica w pliku / etc / sudoers jest (ALL)kontra (ALL:ALL). Pierwszy oznacza, że ​​możesz uruchamiać polecenia jak każdy użytkownik . Drugi - możesz uruchomić polecenie jako dowolny użytkownik i dowolna grupa .

Sposób pokazany w / etc / sudoers obu grup będzie musiał wprowadzić własne hasło, aby wykonać polecenia jako root.

Oba mogą być rootem takim jak ten:

sudo su
Aleksandr Levchuk
źródło
9
Czego nie mogę zrobić bez bitu „jak każda grupa”?
tudor
Jeśli program może być wykonywany tylko przez określoną grupę, wówczas użytkownik (ALL), który nie należy do tej grupy, nie może wykonać tego polecenia. Tak jak tutaj , użytkownicy, którzy są w grupie, admina nie w webusergrupie, nie mogą wykonać firefox.
Stam Kaly