Co to znaczy być w grupie 0?

11

Kilku użytkowników w systemie, który odziedziczyłem, ma grupę ustawioną na 0 w / etc / passwd. Co to znaczy? Czy zasadniczo uzyskują pełne uprawnienia roota?

W systemie działa CentOS 5, a użytkownicy wydają się być przede wszystkim związani z systemem, chociaż w tej grupie jest również były administrator:

$ grep :0: /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
operator:x:11:0:operator:/root:/sbin/nologin
jsmith:x:500:0:Joe Smith:/home/jsmith:/bin/bash
$
Gilles „SO- przestań być zły”
źródło

Odpowiedzi:

12

W przeciwieństwie do użytkownika 0 (użytkownik root), grupa 0 nie ma żadnych specjalnych uprawnień na poziomie jądra.

Tradycyjnie grupa 0 miała specjalne uprawnienia do wielu wariantów uniksowych - albo prawo do używania suroota (po wpisaniu hasła roota), albo prawo do rootowania bez wpisywania hasła. Zasadniczo użytkownikami w grupie 0 byli administratorzy systemu. Gdy grupa 0 ma specjalne uprawnienia, zostaje wywołanawheel

W systemie Linux grupa 0 nie ma żadnego specjalnego znaczenia dla uprzywilejowania narzędzi do eskalacji, takich jak sudoi su. Zobacz Dlaczego Debian domyślnie nie tworzy grupy „koło”?

O ile mi wiadomo, w CentOS grupa 0 nie ma specjalnego znaczenia. Nie ma odniesienia w sudoerspliku domyślnym . Administratorzy tego systemu mogli postanowić naśladować tradycję uniksową i przyznać członkom grupy 0 specjalne uprawnienia. Sprawdź konfigurację PAM ( /etc/pam.conf, /etc/pam.d/*) i plik sudoers ( /etc/sudoers) (nie są to jedyne miejsca, w których grupie 0 mogły zostać przyznane specjalne uprawnienia, ale najprawdopodobniej).

Gilles „SO- przestań być zły”
źródło
3

W przeciwieństwie do ID użytkownika 0, jądro nie daje żadnych specjalnych uprawnień grupie 0. Jednakże, ponieważ 0 jest zwykle domyślną grupą dla rootużytkownika, oznacza to, że osoby te często będą mogły uzyskiwać dostęp do plików należących do roota lub je modyfikować (ponieważ te pliki często są również własnością grupy 0).

Ponadto niektóre programy mogą specjalnie traktować grupę 0. Na przykład suw niektórych systemach BSD zapewni dostęp do konta root bez hasła dla członków grupy 0 .

Więc chociaż nie jest to klasa superużytkownika, nadal uważałbym, kto jest członkiem.

Jander
źródło
2

Oznacza to po prostu, że ich podstawowa grupa jest rootraczej czymś innym, dlatego na przykład używają ustawień grupy podczas uzyskiwania dostępu do plików, w których znajdują się ustawienia grupy root.

Większość standardowych plików systemowych jest własnością, root.rootale uprawnienia grupowe są zwykle takie same jak uprawnienia światowe, więc samo w sobie nie daje to żadnej korzyści, chyba że w systemie zmieniono uprawnienia grupowe dla plików standardowych.

Nie przyznaje pełnych uprawnień administratora.

StarNamer
źródło
0

Jestem trochę spóźniony na imprezę, ale zadałem sobie dzisiaj to samo pytanie i doszedłem do następującego wniosku:

Jest to sprzeczne z zasadą najmniejszego przywileju i dlatego należy tego unikać.

Mówiąc dokładniej, może to dać użytkownikowi uprawnienia (do odczytu, zapisu lub wykonywania) nie tylko do wielu zwykłych plików i katalogów, ale także do wielu specjalnych, takich jak te, które komunikują się z jądrem systemu.

Ale ponieważ może to być inne dla twojego systemu, powinieneś uruchomić to, aby znaleźć i sprawdzić je wszystkie (po pierwsze do odczytu, po drugie do zapisu, eXecute jest pozostawiony jako ćwiczenie dla czytelnika):

find / -group 0 -perm -g+r ! -perm -o+r  -ls | less 
find / -group 0 -perm -g+w ! -perm -o+w  -ls | less

Niektóre z nich mogą być zwykłymi plikami i katalogami (jak katalog domowy / root), ale inne mogą być pseudo plikami, które są interfejsami do jądra (jak w / proc i / sys)

na przykład:

find /sys -type f -group 0 -perm -g+w ! -perm -o+w  -name 'remove'
/sys/devices/pci0000:00/0000:00:17.0/0000:13:00.0/remove
/sys/devices/pci0000:00/0000:00:17.0/remove
/sys/devices/pci0000:00/0000:00:16.6/remove
...
etc.

Użyj, lspci -v |lessaby dowiedzieć się, jakie są te urządzenia (np .: kontroler pamięci, kontroler USB, karty sieciowe i wideo itp.)

JohannesB
źródło
Strona Wikipedii, do której prowadzi link, mówi: „Zasada oznacza przyznanie konta użytkownika lub przetwarzanie tylko tych uprawnień, które są niezbędne do wykonywania zamierzonej funkcji”. Ale nie argumentowaliście, że te konta nie potrzebują dostępu, jaki uzyskują, będąc w grupie 0.
Scott