Gruppenkennung
Im Unix-artig Systeme, mehrere Benutzer können in eingesetzt werden Gruppen. Posix und konventionell Unix Dateisystemberechtigungen sind in drei Klassen organisiert, Benutzer, Gruppe, und Andere. Durch die Verwendung von Gruppen können zusätzliche Fähigkeiten organisiert delegiert werden, z. B. Zugang zu Festplatten, Drucker, und andere Peripheriegeräte. Diese Methode ermöglicht unter anderem auch die Superuser um einige administrative Aufgaben an normale Benutzer zu delegieren, ähnlich wie die Administratoren Gruppe auf Microsoft Windows NT und seine Derivate.
A Gruppenkennung, oft abgekürzt zu Gid, ist ein numerischer Wert, der zur Darstellung einer bestimmten Gruppe verwendet wird.[1] Der Wertebereich für eine GID variiert zwischen verschiedenen Systemen. Zumindest kann eine GID zwischen 0 und 32.767 mit einer Einschränkung liegen: Die Anmeldegruppe für den Superuser muss GID 0 haben. Dieser numerische Wert wird verwendet, um sich auf Gruppen in der zu beziehen /etc/passwd
und /etc/Gruppe
Dateien oder ihre Äquivalente. Schattenkennwort Dateien und Netzwerkinformationsdienst Beziehen Sie sich auch auf numerische GIDs. Die Gruppenkennung ist eine notwendige Komponente von Unix Dateisysteme und Prozesse.
Ergänzende Gruppen
In Unix -Systemen muss jeder Benutzer ein Mitglied von mindestens einer Gruppe sein, die Hauptgruppe, die durch die numerische GID des Eintrags des Benutzers in der PassWD -Datenbank identifiziert wird, die mit dem Befehl angezeigt werden kann Getent Passwd
(Normalerweise gelagert in /etc/passwd
oder LDAP). Diese Gruppe wird als die bezeichnet Primärgruppen -ID. Ein Benutzer kann als Mitglied zusätzlicher Gruppen in den relevanten Einträgen in der Gruppendatenbank aufgeführt werden, die mit angezeigt werden können Getent -Gruppe
(Normalerweise gelagert in /etc/Gruppe
oder LDAP); Die IDs dieser Gruppen werden als bezeichnet ergänzende Gruppen -IDs.
Effektiv gegen real
UNIX -Prozesse haben eine Wirksam (EUID, z. B.), a real (Uid, gid) und a Gerettet (SUID, SGID) ID. Normalerweise sind diese identisch, aber in setUid
und setgid
Prozesse sind unterschiedlich.
Konventionen
Typ
Ursprünglich wurde eine signierte 16-Bit-Ganzzahl verwendet. Da das Zeichen nicht erforderlich war - negative Zahlen erstellen keine gültigen Gruppen -IDs -, wird jetzt eine unsignierte Ganzzahl verwendet, die Gruppen -IDs zwischen 0 und 65.535 ermöglicht. Moderne Betriebssysteme verwenden normalerweise nicht signierte 32-Bit-Ganzzahlen, die Gruppen-IDs zwischen 0 und 4.294.967.295 ermöglichen.
Reservierte Bereiche
Viele Linux-Systeme reservieren den GID-Zahlenbereich von 0 bis 99 für statisch zugewiesene Gruppen und entweder 100–499 oder 100–999 für Gruppen, die vom System in der Nachinstallationsskripte dynamisch zugewiesen wurden. Diese Bereiche sind häufig in angegeben /etc/login.defs
, zum UserAdd
, GroupAdd
und ähnliche Werkzeuge.
Auf FreeBSD können Träger, die eine GID für ihr Paket benötigen Ports/GIDS.[2]
Besondere Werte
- 0: die Superuser Normalerweise hat eine GID von Null (0).
- –1: der Wert
(gid_t) -1
ist von POSIX reserviert, um ein weggelassenes Argument zu identifizieren.[3] - 65.534: Der Linux -Kernel stand auf 216–2 = 65.534 (was viele Linux-Verteilungen auf den Gruppennamen "Nogroup" abbilden), wenn eine 32-Bit-GID nicht in den Rückgabewert eines 16-Bit-Systemaufrufs passt.[4] Der Wert wird auch von IDMAPD zurückgegeben, wenn ein Gruppenname in einem eingehenden NFSV4 Das Paket passt nicht zu einer bekannten Gruppe des Systems.
Persönliche Gruppen
Viele Systemadministratoren weisen für jeden Benutzer auch eine persönliche primäre Gruppe zu, die den gleichen Namen wie der Login -Name des Benutzers aufweist und häufig auch dieselbe numerische GID wie die UID des Benutzers hat. Solche persönlichen Gruppen haben keine anderen Mitglieder und erleichtern die Zusammenarbeit mit anderen Benutzern in gemeinsamen Verzeichnissen, indem Benutzer gewohnheitsmäßig arbeiten können Ummask 0002
. Auf diese Weise können neu erstellte Dateien standardmäßig für Gruppenmitglieder geschrieben werden, da dies normalerweise nur den Schreibzugriff für Mitglieder der persönlichen Gruppe ermöglicht, dies nur für den Eigentümer der Datei. Wenn jedoch eine Datei in einem freigegebenen Verzeichnis erstellt wird, das zu einer anderen Gruppe gehört und die hat setgid Bit Set, dann wird die erstellte Datei automatisch auch für Mitglieder der Gruppe dieses Verzeichnisses beschreibend.
Auf vielen Linux -Systemen die UserGroups_enab
Variable in /etc/login.defs
steuert, ob Befehle mögen UserAdd
oder userdel
Fügen Sie eine zugehörige persönliche Gruppe automatisch hinzu oder löschen Sie sie.
Siehe auch
Verweise
- ^ "Definitionen". Pubs.opengroup.org. Abgerufen 2021-12-06.
- ^ Freebsd Porters Handbuch, Abschnitt 6.26: Hinzufügen von Benutzern und Gruppen
- ^ "Chown". Pubs.opengroup.org. Abgerufen 2021-12-06.
- ^ "Namespaces im Betrieb, Teil 5: Benutzernamenspaces [lwn.net]". lwn.net. Abgerufen 2021-12-06.