Gründe für die Standardgruppen und Benutzer unter Linux


14

Wenn ich mir die Standardverwaltung für Benutzer und Gruppen auf einigen üblichen Linux-Distributionen (bzw. ArchLinux und Debian) anschaue, frage ich mich zwei Dinge darüber und über die Konsequenzen der Änderung des Standard-Setups und der Standardkonfiguration.

Der Standardwert für USERGROUPS_ENABin /etc/login.defsscheint „Ja“ zu sein, die durch das reflektierte wird „Standardmäßig wird eine Gruppe auch für den neuen Benutzer erstellt werden“ , die in dem gefunden werden kann ein useraddMann, so jedes Mal , wenn ein neuer Benutzer erstellt wird , ein Die Gruppe wird mit demselben Namen und nur für diesen neuen Benutzer erstellt. Kann dies verwendet werden oder handelt es sich nur um einen Platzhalter?

Ich habe das Gefühl, dass wir dadurch einen Teil der Rechteverwaltung als Benutzer / Gruppe / andere verlieren . Wäre es schlecht, eine Gruppe "Benutzer" oder "Stammkunden" zu haben, oder wie auch immer Sie es nennen möchten, die die Standardgruppe für jeden Benutzer ist, anstatt eine eigene zu haben?

Der zweite Teil meiner Frage, der immer noch auf dem basiert, was ich auf Arch und Debian gesehen habe: Es gibt viele Benutzer, die standardmäßig erstellt wurden (FTP, HTTP usw.). Gibt es eine Verwendung für sie oder gibt es sie nur aus historischen Gründen?

Ich denke darüber nach, sie zu entfernen, möchte aber nichts kaputt machen, was es könnte, aber ich habe noch nie etwas gesehen und keine Ahnung, was es könnte. Gleiches gilt für die Standardgruppen (tty, mem usw.), zu denen ich noch keinen Benutzer gehört habe.


Wenn Sie mir etwas Zeit geben, gebe ich Ihnen eine nette Antwort. Ich bin nur ein langsamer Typ. Es kann 30 Minuten oder länger sein.
Eyoung100

Der Hauptpunkt aller dieser Gruppen ist das Festlegen von Gruppen-ID-Programmen.
Barmar

2
Die erste Frage ist ganz in der Nähe dieser ein .
Leiaz

@ECarterYoung: Natürlich kannst du dir Zeit lassen, danke dafür!
Horgix

@Leiaz: Mir war klar, dass ich aber trotzdem die Frage stellen wollte, ob es schlecht wäre, eine Gruppe "Benutzer" oder "Stammkunden" zu haben, oder wie auch immer Sie es nennen möchten, dies ist die Standardgruppe für jeden Benutzer, anstatt ihre eigene zu haben. Teil und behielt, was vorher als Einleitung war. Ich stellte primarly auf Stackoverflow wurde aber hier gerichtet.
Horgix,

Antworten:


13

Benutzergruppen

Ich sehe auch nicht viel Nutzen in Benutzergruppen. Der Hauptanwendungsfall ist, wenn ein Benutzer "Freunden" Zugriff auf seine Dateien gewähren möchte, dass der Freund seiner Gruppe hinzugefügt wird. Nur wenige Systeme, denen ich begegnet bin, verwenden es tatsächlich so.

Wenn USERGROUPS_ENABin /etc/login.defsauf "no" gesetzt ist, werden useraddalle erstellten Benutzer zu der /etc/default/useradddurch das GROUPFeld definierten Gruppe hinzugefügt . Bei den meisten Distributionen ist dies die GID, 100die normalerweise der usersGruppe entspricht. Auf diese Weise können Sie die Benutzer allgemeiner verwalten. Wenn Sie eine genauere Steuerung benötigen, können Sie diese Gruppen manuell hinzufügen und ihnen sinnvolle Benutzer hinzufügen.

Standardmäßig erstellte Gruppen

Die meisten von ihnen sind aus historischen Gründen entstanden, aber viele haben noch heute gültige Verwendungen:

  • Festplatte ist die Gruppe, die die meisten Festplattengeräte besitzt
  • lp besitzt einen parallelen Port (und ist manchmal für Administratorrechte auf Tassen konfiguriert)
  • uucp besitzt häufig serielle Ports (einschließlich serieller USB-Ports)
  • cdrom ist erforderlich, um Berechtigungen für ein CD-Laufwerk bereitzustellen
  • Einige Systeme verwenden Wheel für Sudo-Rechte. manche nicht
  • etc.

Andere Gruppen werden von Hintergrundskripten verwendet. Zum Beispiel manerzeugt temporäre Dateien und solche , wenn es laufen gelassen; Der Prozess verwendet die Gruppe man für einige dieser Dateien und bereinigt im Allgemeinen nach sich selbst.


Gemäß der Linux Standard Base Core-Spezifikation sind jedoch nur 3 Benutzer, nämlich root, bin und daemon, zwingend erforderlich . Das Grundprinzip hinter den anderen Gruppen ist:

Mit der Angabe optionaler Benutzer und Gruppen soll das Risiko von Namenskonflikten zwischen Anwendungen und Distributionen verringert werden.

Es sieht also so aus, als ob es besser ist, diese Gruppen an Ort und Stelle zu halten. Es ist theorically möglich , sie ohne Bruch zu entfernen, obwohl für einige, „mysteriös“ Dinge nicht Arbeit richtig beginnen kann (zB Rendering einige Manpages nicht , wenn Sie diese Gruppe töten, etc). Es schadet nicht, sie dort zu lassen, und es wird allgemein angenommen, dass alle Linux-Systeme sie haben werden.


Wo kann ich mehr über das Erstellen von temporären Dateien erfahren? ps aux | grep manZeigt mir auf einer geöffneten Manpage keinen Prozess, der unter der Mangroup ausgeführt wird, und find -group man /zeigt mir auch nichts. Versuchte mit Mann 2.6.7.1 auf einer Standard-Archlinux-Installation.
Horgix

4

Frage 1: Begründung für denselben Benutzer und dieselbe Gruppe

Hallo, ich bin ecyoung und du bist horgix. Wir gehen jeden Tag zur Arbeit und melden uns beim gleichen Linux-Server wie die Programmierer an. Vor nicht allzu langer Zeit hat unser Systemadministrator beschlossen, die Benutzererstellung und -wartung für sich selbst zu vereinfachen. Deshalb hat er die USERGROUPS_ENABOption deaktiviert und alle vorhandenen Benutzer in die neue usersGruppe aufgenommen.


Dies hat die Benutzererstellung vereinfacht, jedoch nicht die Wartung, die Sie sehen, da alle Benutzer auf alle Dateien der anderen Benutzer zugreifen können. In einem Unternehmensumfeld ist dies aufgrund von Dingen wie Sarbanes Oxley und Aufgabentrennung ein großes Nein . Wenn ich Datei A erstelle, wird das Gruppenbit auf die Benutzergruppe gesetzt, was bedeutet, dass alle Benutzer mindestens Datei A lesen können. Wenn der Sys-Administrator faul ist, können in einigen Fällen alle Benutzer RW-Datei A verwenden. Dies besiegt Sarbanes Oxley und SoD, weil separate Abteilungen nicht in der Lage sein sollten, viel weniger Dokumente anderer Personen zu lesen und zu schreiben.


Wenn Benutzer / Gruppe aktiviert ist und ich ein Dokument als "ecyoung" erstelle, habe nur ich die Rechte "rwx". Da sich niemand in meiner Gruppe befindet, wird beim Öffnen meines Dokuments eine leere Seite mit einer Warnung angezeigt. Dies erzwingt Sarbanes-Oxley und SoD. Wenn ich andere Benutzer einlade, wird diesen Benutzern der RW-Zugriff gewährt, und auf diese Weise weiß ich, dass das, was sie sehen, nicht zurückkommt, um mich oder sie zu beißen. Wie andere gesagt haben, ist diese Trennung zu Hause für Sie möglicherweise nicht wichtig. Wenn Sie dies feststellen, können Sie die Option sicher deaktivieren und alle Benutzer werden zu einer usersGruppe mit einer GID von 100 hinzugefügt . Siehe Frage 2 unten.

Hypothetisch :
Sie arbeiten in der IT und Louis arbeitet in der Personalabrechnung. Louis behält die Steuer- und Gehaltsabrechnung in ihrem Heimatverzeichnis, aber Sie sind beide in der Benutzergruppe. Sie öffnen also ihr Heimatverzeichnis, weil es für Benutzer mit + r markiert ist, und finden ihre Tabelle. Sie finden Ihren Gehaltsbetrag aufgelistet, zusammen mit Joes und Freds. Glauben Sie, Joe und Fred möchten, dass Sie ihr Gehalt kennen?


Frage 2: Gruppen-IDs 0 bis 500

Gruppen-IDs und umgekehrt Benutzer-IDs von 0 bis 500 sind für Systemkonten und Gerätezugriff reserviert. In der Tabelle Vorkonfigurierte Systemgruppen finden Sie eine Liste der Standardkonten. Bitte entfernen Sie diese Konten nicht von Hand. Wenn Sie beispielsweise den Benutzer ftp entfernen möchten, entfernen Sie den ftp-Daemon mit Ihrem Paketverwaltungssystem. Dadurch wird auch das Systemkonto entfernt. Systemdienste umfassen, sind aber nicht beschränkt auf:

  • Der CUPS-Druckdienst
  • Der MySQL Server Daemon
  • Der FTP Server Daemon
  • Der Apace-Webserver
  • Der X-Server-Socket für Remoteverbindungen
  • Der ALSA Sound System Daemon
  • Der DBUS-Dienst

Es gibt andere, also wenn andere Leser die oben aufgeführte Serviceliste hinzufügen oder daraus entfernen möchten, tun Sie dies bitte.


5
Nizza hypothetisch, aber ein Fehlschlag. 1. Standardberechtigungen sind normalerweise 022 maskiert, was bedeutet, dass andere trotzdem Lesezugriff haben. 2. Der Sysad ist nicht nur faul, sondern auch inkompetent, da er bei der Kontoerstellung Gruppen entsprechend der Abteilung erstellen und die richtige Gruppe zuweisen sollte, anstatt alle einer Gruppe zuzuweisen. Die USERGROUPS_ENABsollten dann ausgeschaltet bleiben. Deaktivieren USERGROUPS_ENAB! = Alle Benutzer in die gleiche Gruppe setzen.
muru

@ECarterYound für den ersten Teil: Ich verstehe, was Sie über den Zugriffsschutz meinen, und korrigiere mich, wenn ich mich irre, aber wenn alle Benutzer einer usersGruppe angehören, sollte dies kein Problem bei der ordnungsgemäßen Rechteverwaltung für Gruppen sein Rechte an der Gruppe als der Eigentümer. Der einzig gute Grund für das USERGROUPS_ENABAktivieren ist eine einfachere Wartung, da Sie die Standardrechte beim Erstellen von Dateien und Verzeichnissen beibehalten können, ohne den Zugriff für andere Benutzer zu beeinträchtigen.
Horgix

Das wäre richtig, aber viele Leute verwalten Gruppen nicht richtig, wenn sie Heimanwender sind. Ich kann dies nicht mit Sicherheit überprüfen, aber ich glaube, die Betreuer haben die Option erstellt, um die Berechtigungsverwaltung zu unterstützen.
Eyoung100

3

Wenn wir alle wie früher eine Standardgruppe teilen, müssen wir unsere umask auf 077 setzen, um die Gruppe zu blockieren. Wenn die Standardeinstellung ich ist, kann ich die umask auf 027 setzen. Wenn ich jetzt ein Dateiverzeichnis für eine freigegebene Gruppe setze, kann diese Gruppe lesen. Ich muss mich auch nicht mit Modi herumschlagen.

Dies ist nur ein Beispiel, aber im Allgemeinen können Sie Gruppen so lange deaktivieren, bis Sie sie benötigen, damit sie einfacher aktiviert und verwaltet werden können.


1

In Benutzergruppen können Sie sowohl "Privatsphäre in Ihrem Home-Verzeichnis" als auch "einfache Zusammenarbeit in freigegebenen Ordnern" festlegen. Ohne Benutzergruppen können Sie beides haben, aber nicht beides. Details folgen:

Unix ist ein Mehrbenutzersystem, egal ob es sich um einen Unternehmensdateiserver oder einen PC mit 2 Benutzern handelt. "Privatsphäre in Ihrem Home-Verzeichnis" kann auf verschiedene Arten realisiert werden:

Stellen Sie "umask 077" ein, damit Dateien mit rw für Sie und ohne Berechtigungen für andere erstellt werden. Alternativ 027 oder 022, damit einige oder alle Ihre Dateien lesen, aber nicht schreiben können. Der offensichtliche Nachteil ist, dass Sie nicht in einem freigegebenen Ordner zusammenarbeiten können, da die anderen aufgrund strenger Berechtigungen nicht mit Dateien arbeiten können, die Sie dort erstellen. Sie können Berechtigungen für solche Dateien ändern, aber das ist "zu viel Arbeit" und wird oft vergessen.

Um zusammenzuarbeiten, möchten Sie etwas wie "umask 7", damit sowohl Sie als auch die Eigentümergruppe die von Ihnen erstellten Dateien lesen und schreiben können. Dies ist ideal für freigegebene Ordner und Gruppen, die aus allen Personen bestehen, die freigegebenen Zugriff benötigen. Aber Sie verlieren die Privatsphäre in Ihrem privaten Ordner!

Die Benutzergruppe ist die Lösung! Wenn Sie umask 7 verwenden, erhalten alle von Ihnen erstellten Dateien "rw für Sie und rw für die Gruppe". Dateien in Ihrem Home-Verzeichnis werden mit Ihrer persönlichen Gruppe als "Besitzergruppe" erstellt, sodass niemand anders auf diese Dateien zugreifen kann, obwohl die Berechtigung "group rw" erteilt wurde. Weil niemand außer dir in dieser bestimmten Gruppe ist.

Sie können weiterhin in freigegebenen Ordnern zusammenarbeiten. Dateien im freigegebenen Ordner erhalten "rw" für die besitzende Gruppe, und der Systemadministrator hat den freigegebenen Ordner so eingerichtet, dass eine freigegebene Gruppe (Collaborators genannt) der Gruppeneigentümer für Dateien dort ist. Dies geschieht durch Erstellen dieser Mitbearbeitergruppe mit allen mitbearbeitenden Benutzern als Mitgliedern. Anschließend setzt der Administrator den Gruppenbesitz für den freigegebenen Ordner auf "Mitbearbeiter" und legt die SETGID-Berechtigung für den freigegebenen Ordner fest. Wenn SETGID aktiviert ist, erhält alles, was im freigegebenen Ordner erstellt wird, denselben Gruppeneigentümer wie der freigegebene Ordner, dh die Gruppe "Mitbearbeiter". Und mit umask 7 (oder alternativ 2) haben alle Mitglieder dieser Gruppe Lese- und Schreibzugriff und können so zusammenarbeiten.


0

Ursprünglich konnten Unix-Prozesse jeweils einer Gruppe angehören (früher gab es einen chgrp(1)Befehl, der nach dem im Feld für das Prüfkennwort in gespeicherten Gruppenkennwort fragte /etc/groups). Plus-Systeme wurden von einer engmaschigen Anwendergruppe eingesetzt. Es war sinnvoll, alle Mitglieder der usersGruppe zu haben und Inhalte systemweit nach Gruppenberechtigungen zu teilen. Kein echtes Sicherheitsbewusstsein, wenig Misstrauen gegenüber dem ein oder anderen Dutzend Mitbenutzer. Alles war lokal, auf derselben Maschine. Kein Netzwerk zum Teilen von Dingen, zB über einen Blog oder so.

Die heutigen Unix-Systeme haben Hunderte von Benutzern, die Sicherheitsanforderungen sind strenger und Benutzer (und Prozesse) können mehreren Gruppen angehören. Geben Sie jedem der (ahnungsloseren) Benutzer eine Stammgruppe, und lassen Sie zu, dass er von dieser abweicht, um sie zu teilen. Oder verwenden Sie ACLs.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.