Warum werden neu erstellte Benutzer primären Gruppen ihrer Benutzernamen zugewiesen?

Warum werden neu erstellte Benutzer primären Gruppen ihrer Benutzernamen zugewiesen?

Mir ist auf einer Reihe von Linux-Distributionen aufgefallen, dass bei jeder Erstellung eines neuen Benutzers dieser einer primären Gruppe mit seinem eigenen Namen zugewiesen wird.

Wenn ich beispielsweise einen Benutzer mit dem Namen „Testbenutzer“ erstelle, wird dieser standardmäßig der primären Gruppe „Testbenutzer“ zugewiesen.

Dies führt dazu, dass alle Benutzer ihre eigenen, einzigartigen primären Gruppen haben. Alle diese Gruppen hätten außerdem immer nur einen Benutzer, da es keinen Sinn hätte, weitere Benutzer zu diesen Gruppen hinzuzufügen. Dies ist etwas kontraintuitiv, da „Gruppe“ im Allgemeinen „mehr als 1“ bedeutet.

Diese primären Benutzergruppen sind im Allgemeinen auch nutzlos, wenn Sie versuchen, Dateien/Ordnern Berechtigungen zuzuweisen.

Gibt es einen Grund, warum dies das Standardverhalten bei Distributionen ist? Und gibt es Anwendungsfälle, in denen dieses Verhalten tatsächlich nützlich ist? Warum werden nicht alle neuen Benutzer einer primären Gruppe „Benutzer“ zugewiesen?

Antwort1

Der Grund (der einzige Grund, soweit ich weiß) dafür, Benutzer in eine eigene Gruppe einzuordnen, besteht darin, umask 002eine umask 007sinnvolle Vorgabe festzulegen.

Derumaskist eine Maske für die Standardberechtigungen neu erstellter Dateien. Die Bedeutung der Ziffern ist dieselbe wie in chmod; die erste Ziffer ist für den Benutzer, die zweite für die Gruppe und die dritte für andere. Wenn ein Bit in der Umask 1 ist, wird es aus den Berechtigungen der neu erstellten Datei entfernt (maskiert). Wenn eine Anwendung beispielsweise eine nicht ausführbare Datei ohne besondere Datenschutzanforderungen¹ erstellt, übergibt sie 666 als Dateiberechtigung, und die Anwendung der Umask 002 führt zu einer Datei mit den Berechtigungen 664 ( 0666 & ~002in C-ähnlicher Notation), d. h. einer Datei, die von jedem gelesen und nur vom Benutzer und der Gruppe ( ) geschrieben werden kann rw-rw-r--.

Mit der Umask 022 sind Dateien standardmäßig allgemein lesbar, aber nur von ihrem Autor beschreibbar. Mit der Umask 002 sind Dateien zusätzlich von der Gruppe beschreibbar, der sie gehören. Wenn die primäre Gruppe eines Benutzers eine ist, in der er der einzige Benutzer ist, und die Umask 002 ist, dann gilt:

  • Standardmäßig sind Dateien nur für den Autor beschreibbar, da rw-rw-r--es in der Gruppe trotz Berechtigung keinen anderen Benutzer mit Schreibberechtigung gibt.
  • Damit eine Datei von Mitgliedern einer Gruppe bearbeitet werden kann, muss der Autor sie nur mit zum Eigentum dieser Gruppe machen chgrp. Dies kann sogar automatisch geschehen, wenn die Datei in einemVerzeichnis mit dem Setgid-Bitoder eine gleichwertigeACL.

Der Vorteil gegenüber der 022-Umask besteht darin, dass der Autor in dieser Einstellung zwei Dinge tun muss, um eine Datei für Benutzer bearbeitbar zu machen: die Gruppe festlegen und die Berechtigungen erweitern ( chmod g+w). Dieser zweite Schritt (oder einzige Schritt in einem Setgid-Verzeichnis) wird häufig vergessen.

¹ Beispiele für Dateien mit besonderen Datenschutzanforderungen: Verschlüsselungsschlüssel, E-Mails, alle Dateien in einem öffentlichen Verzeichnis wie z /tmp. B.

Antwort2

Es war üblich, alle Benutzer zur Gruppe hinzuzufügen users, aber das macht das kontrollierte Teilen von Dateien schwierig (öffnen Sie Gruppenberechtigungen, jeder hat Zugriff). Da ein Prozess heute zu mehreren Gruppen gleichzeitig gehören kann, schließen Sie den Zugriff einfach, indem Sie jedem Benutzer seine eigene Gruppe geben, und geben Sie Dateien frei, indem Sie explizite Gruppen dafür hinzufügen. Oder (falls verfügbar) verwenden SieZugriffssteuerungslisten.

verwandte Informationen