Was bedeutet es, in Gruppe 0 zu sein?

11

Bei mehreren Benutzern in einem von mir geerbten System ist die Gruppe in / etc / passwd auf 0 gesetzt. Was bedeutet das? Erhalten sie im Wesentlichen volle Root-Rechte?

Auf dem System wird CentOS 5 ausgeführt, und die Benutzer scheinen hauptsächlich systembezogene Dinge zu sein, obwohl sich auch ein ehemaliger Administrator in dieser Gruppe befindet:

$ 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 - hör auf böse zu sein'
quelle

Antworten:

12

Im Gegensatz zu Benutzer 0 (dem Root-Benutzer) verfügt Gruppe 0 auf Kernel-Ebene über keine besonderen Berechtigungen.

Traditionell hatte Gruppe 0 spezielle Berechtigungen für viele Unix-Varianten - entweder das Recht, suroot zu werden (nach Eingabe des root-Passworts) oder das Recht, root zu werden, ohne ein Passwort einzugeben. Grundsätzlich waren die Benutzer in Gruppe 0 die Systemadministratoren. Wenn Gruppe 0 spezielle Berechtigungen hat, wird sie aufgerufenwheel

Unter Linux hat Gruppe 0 keine besondere Bedeutung für Dienstprogramme zur Eskalation von Berechtigungen wie sudound su. Siehe Warum erstellt Debian nicht standardmäßig die Radgruppe?

Unter CentOS hat Gruppe 0 meines Wissens keine besondere Bedeutung. In der Standarddatei wird nicht darauf verwiesen sudoers. Die Administratoren auf diesem System haben möglicherweise beschlossen, eine Unix-Tradition zu emulieren und Mitgliedern der Gruppe 0 einige Sonderberechtigungen zu erteilen. Überprüfen Sie die PAM-Konfiguration ( /etc/pam.conf, /etc/pam.d/*) und die sudoers-Datei ( /etc/sudoers) (dies sind nicht die einzigen Stellen, an denen der Gruppe 0 möglicherweise besondere Berechtigungen erteilt wurden , aber die wahrscheinlichsten).

Gilles 'SO - hör auf böse zu sein'
quelle
3

Im Gegensatz zur Benutzer-ID 0 erteilt der Kernel der Gruppe 0 keine besonderen Berechtigungen. Da 0 jedoch normalerweise die Standardgruppe für den rootBenutzer ist, bedeutet dies, dass diese Personen häufig auf Dateien zugreifen oder diese ändern können, deren Eigentümer root ist (da diese Dateien vorhanden sind) oft auch im Besitz der Gruppe 0).

Darüber hinaus können einige Programme die Gruppe 0 speziell behandeln. Beispielsweise gewährensu einige BSD-Systeme Mitgliedern der Gruppe 0 einen kennwortlosen Root-Zugriff .

Obwohl es keine Superuser-Klasse ist, würde ich trotzdem darauf achten, wer Mitglied ist.

Jander
quelle
2

Es bedeutet einfach, dass ihre primäre Gruppe rooteher als alles andere ist und sie beispielsweise die Gruppeneinstellungen verwenden, wenn sie auf Dateien zugreifen, in denen sich Gruppeneinstellungen befinden root.

Die meisten Standardsystemdateien gehören, root.rootaber Gruppenberechtigungen sind normalerweise die gleichen wie die Weltberechtigungen. Dies allein bringt keinen Vorteil, es sei denn, auf Ihrem System wurden die Gruppenberechtigungen für Standarddateien geändert.

Es werden keine vollständigen Root-Berechtigungen gewährt.

StarNamer
quelle
0

Ich bin etwas spät zur Party, habe mir aber heute die gleiche Frage gestellt und bin zu folgendem Schluss gekommen:

Dies verstößt gegen das Prinzip des geringsten Privilegs und sollte daher vermieden werden.

Insbesondere kann dies dem Benutzer (Lesen, Schreiben oder Ausführen) Berechtigungen nicht nur für viele reguläre Dateien und Verzeichnisse geben, sondern auch für viele spezielle Dateien wie diese, die mit Ihrem Systemkernel sprechen.

Da dies für Ihr System möglicherweise anders ist, sollten Sie dies ausführen, um alle zu finden und zu überprüfen (erstens zum Lesen, zweitens zum Schreiben, eXecute bleibt als Übung für den Leser):

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

Einige davon können reguläre Dateien und Verzeichnisse sein (wie das Ausgangsverzeichnis / root), andere können Pseudodateien sein, die Schnittstellen zum Kernel darstellen (wie in / proc und / sys).

z.B:

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.

Verwenden lspci -v |lessSie diese Option , um herauszufinden, um welche Geräte es sich handelt (z. B. Speichercontroller, USB-Controller, Netzwerk- und Grafikkarten usw.).

JohannesB
quelle
Auf der Wikipedia-Seite, auf die Sie verlinken, heißt es: "Das Prinzip bedeutet, einem Benutzerkonto nur die Berechtigungen zu erteilen oder zu verarbeiten, die für die Ausführung der beabsichtigten Funktion erforderlich sind." Sie haben jedoch nicht argumentiert, dass diese Konten nicht den Zugriff benötigen, den sie von der Gruppe 0 erhalten.
Scott