Ich habe mehr als ein halbes Jahrhundert Unix-Erfahrung überprüft und weder meine Kollegen noch ich haben jemals ein Passwort für eine Gruppe ( sg
und gpasswd
) festgelegt. Was wäre ein typischer Anwendungsfall für ein Gruppenpasswort oder ist es so ziemlich nur aus historischen Gründen dort?
35
Antworten:
Auch ich habe dieses Feature noch nie gesehen, auch nicht ein einziges Mal. Den meisten SAs ist nicht einmal bewusst, dass diese Einrichtung vorhanden ist. Beim Durchsuchen der Manpage
gpasswd
gab es diesen Hinweis:Warum gibt es sie?
Ich denke, sie waren eine natürliche Idee, um das Modell des Benutzers nachzuahmen, der Passwörter hat, und es machte Sinn, dieses Anwendungsfallmodell auch für Gruppen zu duplizieren. Aber in der Praxis sind sie für nichts wirklich nützlich.
Die Idee mit einem Gruppenkennwort ist, dass Sie, wenn Sie Zugriff auf eine bestimmte Gruppe benötigen (einer, der Sie nicht angehören), dies mit dem
newgrp
Befehl tun und mit einem Kennwort aufgefordert werden können, um Zugriff zu erhalten zu diesen alternativen Gruppen.Das große Problem bei ihnen ist, dass es für jede Gruppe nur ein einziges Kennwort gibt, sodass die Benutzer gezwungen sind, dieses Kennwort gemeinsam zu verwenden, wenn mehrere Benutzer Zugriff auf diese eine bestimmte Gruppe benötigen.
Gruppen
Die meisten Umgebungen, denen ich begegnet bin, haben normalerweise Personen in sekundäre Gruppen eingeteilt und diesen Gruppen dann Zugriff auf Dateien im Dateisystem gewährt, und dies hat so ziemlich die gesamte Nutzung gedeckt, die auftreten muss.
sudo
Mit dem Aufkommen
sudo
zusätzlicher Berechtigungen könnten diese nach Bedarf an Gruppen weitergegeben werden, was möglicherweise von Gruppenkennwörtern bereitgestellte Anwendungsfälle weiter untergräbt. Wenn Sie Benutzern mehr Berechtigungen gewähren mussten, war es viel einfacher, Rollen zu erstellensudo
und dann nur dem Benutzernamen oder der Gruppe, in der sie sich befanden, Berechtigungen zu erteilen, um die Berechtigungen zu erhöhen, damit sie eine bestimmte Aufgabe ausführen können.ACLs
Schließlich hat die Möglichkeit, Zugriffssteuerungslisten (Access Control Lists, ACLs) zu erstellen, wirklich die letzte Flexibilität gebracht, die das Berechtigungsmodell Benutzer / Gruppe / Andere allein nicht bieten konnte, und die mögliche Notwendigkeit, Gruppenkennwörter zu verbergen, in den Hintergrund gedrängt.
quelle
sudo
und ACLs. Ich denke,udev
mit einer ähnlichen Geschichte, natürlich mit einem Fokus auf Geräten. Interessant zu lesen.Hier ist eine praktische Anwendung für Gruppenkennwörter, die ich für mich auf unserem Arbeitsserver implementiert habe, da die Protokolle darauf hinweisen, dass mein Konto brutal erzwungen wurde (oder ein Wörterbuchangriff hätte sein können).
Ich habe
ssh-keygen
mitputtygen
Respekt Schlüsselpaare für die Verwendung auf meiner Workstation und meinem Heimcomputer generiert. Für den Schlüssel, den ich von zu Hause aus verwende, ist ein Passwort erforderlich. Ich habe beide öffentlichen Schlüssel zur.ssh/authorized_keys
Gruppe hinzugefügt , eine Gruppemarionette
mit einem Kennwort und ohne Mitglieder erstellt. Als root habe ichvisudo
die folgenden Zeilen hinzugefügt.Ich habe das Passwort meines Kontos deaktiviert. Auf diese Weise kann sich niemand anmelden. Ich melde mich jetzt nur noch mit meinen Schlüsseln an und gebe die passwortgeschützte Gruppe mit ein, um
newgrp marionette
mich als Root zu registrierensudo -i
.Ohne diese
NOPASSWD:
Option ist ein Passwort für Ihr Benutzerkonto erforderlich . Wenn es deaktiviert ist und diese Gruppe nicht hatNOPASSWD
, können Sie dies nicht tunsudo -i
. Es wird auch Ihr Benutzerkontokennwort erfordern, wenn Ihre Befehlsliste keine/bin/bash
oder eine von Ihrem Root standardmäßig verwendete Shell hat.Dies verlängert zwar den Sudo-Pfad um einige Schritte, erhöht jedoch die Sicherheit. Wenn Sie alle Ihre Konten so einrichten möchten, erstellen Sie ein lokales Konto mit einem Kennwort und Sudo-Berechtigungen. Verweigern Sie jedoch die Eingabe von ssh,
/etc/ssh/sshd_config
indem Sie Folgendes hinzufügen:Dies ist für den lokalen Zugriff erforderlich, falls Sie eine Neuinstallation durchführen und vergessen haben, Ihre Zugriffsschlüssel zu sichern.
quelle
sudo
wenn Sie stattdessen den POSIX-newgrp
Befehl verwenden würden. Trotzdem, ausgezeichnete Antwort.newgrp
) und "neu" (sudo
) mit einem klaren Mehrwert. Dies verdient ein Lob.Ich habe auch noch nie einen Anwendungsfall für dieses Passwort gesehen. Und das sind ungefähr 20 Jahre * nix Erfahrung.
Der einzige Anwendungsfall, der mir in den Sinn kommt, ist, ihn auf "!" - locked, damit niemand, der nicht Mitglied dieser Gruppe ist, mit dem
newgrp
Befehl zu ihr wechseln kann .Wenn ich in / etc / group auf SLES oder / etc / gshadow auf RedHat-basierten Systemen nachschaue, scheint dies der "typische" Anwendungsfall zu sein. SLES hat sich nicht einmal die Mühe gemacht, einen Schattenmechanismus für dieses Passwort zu erstellen.
quelle
newgrp ntp
schon, wie ändert!
-locking das?!
man newgrp
: Dem Benutzer wird der Zugriff verweigert, wenn das Gruppenkennwort leer ist und der Benutzer nicht als Mitglied aufgeführt ist.Lassen Sie mich einen Anwendungsfall vorschlagen.
Lassen Sie mich zunächst sagen, dass wir an den Begriff "Benutzer" so gewöhnt sind, dass wir gar nicht daran denken. Aber "Benutzer" ist nicht wirklich ein Benutzer . Zum Beispiel haben wir zu Hause drei Computer - den Laptop meiner Frau, meinen Laptop und einen normalen Desktop-Computer. Wenn ich den Laptop meiner Frau benutze, logge ich mich mit ihrem Benutzerkonto ein. Wenn sie meinen Laptop benutzt, loggt sie sich mit meinem Benutzerkonto ein. Wenn jemand den Desktop benötigt, verwendet er den einen gemeinsamen Account. Wir sehen hier, dass das, was das Computersystem "Benutzer" nennt, nicht wirklich ein Benutzer ist, sondern ein Workflow - eine Reihe von Aktivitäten.
Hier ist die Frage: Warum kann ich nicht mehr als eine Aktivität haben - eine für jeden Job, den ich habe? Ich kann. An meinem Arbeitscomputer habe ich (experimentell) viele verschiedene Benutzer angelegt, damit ich mich auf die aktuelle Aufgabe konzentrieren kann. Ich stelle alle diese Benutzer in dieselbe Gruppe, damit ich auf meine Dateien zugreifen kann, egal welchen Benutzer ich gerade benutze.
Also, wo passt das gpasswd dazu?
Das Standardverhalten von Ubuntu besteht darin, für jeden Benutzer eine spezielle Gruppe zu erstellen.
Was ist, wenn wir uns entscheiden, diese primären Gruppen als Benutzer und die Systembenutzer als Workflows zu betrachten ?
Dann benötigen diese neuen Benutzer ein Passwort, um sich anzumelden, oder? Hier ist der Ort von gpasswd. Ich muss noch herausfinden, wie ich mich mit der Gruppe anmelde (bis zu diesem Punkt weiß ich, dass Sie mit gpasswd die Gruppe wechseln können, wenn Sie bereits angemeldet sind).
quelle