Grundsätzlich frage ich über die Befehlszeile nach der Benutzerverwaltung (z. B. auf einem System, auf dem keine grafischen Tools verfügbar sind). In der Vergangenheit habe ich mehrere verschiedene Programme verwendet , um hinzuzufügen oder zu löschen Benutzer und Gruppen oder deren Attribute zu ändern: adduser
, useradd
, usermod
, gpasswd
, und vielleicht andere , die ich vergessen habe. Ich habe auch ein paar Mal gehört, dass einige dieser Programme auf niedrigem Niveau sind und für den allgemeinen Gebrauch vermieden werden sollten, aber ich kann mich nie erinnern, welche. Daher möchte ich eine endgültige Antwort erhalten, für welche Programme zumindest für die folgenden Aufgaben empfohlen werden:
- Erstellen Sie einen neuen Benutzer
- Fügen Sie einer Gruppe einen Benutzer hinzu
- Entfernen Sie einen Benutzer aus einer Gruppe
- Ändern Sie die primäre Gruppe eines Benutzers
- Ändern Sie die Login-Shell oder das Home-Verzeichnis eines Benutzers
- Löschen Sie einen Benutzer
Ich suche nach Standardtools, von denen ich erwarten kann, dass sie auf so ziemlich jedem Linux-System (jeder Distribution) verfügbar sind.
groupmod
. Ich werde dies nicht zu einer Antwort machen ... aber die Standardmethode ist wahrscheinlich die Verwendung Ihres Texteditors ... Denken Sie daran, dass es sich bei den betroffenen Dateien nur um abgegrenzten Text handelt./etc/passwd
nur ein Teil eines komplexen Systems war)Antworten:
Leider wurde keine dieser Operationen jemals standardisiert.
Einige Betriebssysteme bieten diese Funktionalität als Teil des Betriebssystems an, wie z. B. Linux. Selbst wenn Ihr Linux-System sie enthält, haben sich die Tools und ihre Namen im Laufe der Zeit und über Linux-Distributionen hinweg geändert, sodass Sie sich nicht wirklich auf einen Standardsatz von Tools verlassen können diese Aufgaben.
Sie benötigen einen Satz von Tools pro Betriebssystem.
quelle
Auf Debian-Systemen (und abgeleiteten Systemen)
adduser
unddeluser
übergeordneten Wrappernuseradd
und verwandten Funktionen. Das Erstellen von Deckungsbenutzern, das Hinzufügen und Entfernen von Gruppenmitgliedschaften sowie das Löschen von Benutzern. Die entsprechenden Befehle zum Erstellen / Löschen von Gruppen sind vernünftigerweiseaddgroup
unddelgroup
.usermod
scheint den verbleibenden Anwendungsfall abzudecken, den Sie benennen.quelle
Sie erwähnen Linux im letzten Teil Ihrer Frage, aber da der Titel generisch ist, werde ich für FreeBSD antworten.
FreeBSD hat ähnliche Befehle wie Linux, aber es handelt sich um Befehle, die an das
pw
Dienstprogramm übergeben werden:und so weiter. Man kann den Befehl jedoch in zwei Teile zerlegen:
user
undmod
; ein Substantiv und ein Verb. Darüber hinaus kann man auch verwendengroup
unddel
:um beispielsweise eine Gruppe zu löschen. Also hier ist, was ich wirklich cool finde: Die Reihenfolge spielt keine Rolle, noch spielt der Abstand eine Rolle! Dies bedeutet, dass Sie sich daran erinnern können, wie Sie anrufen sollen, indem Sie überlegen, was Sie tun möchten (ohnehin auf Englisch):
und mehr! Mit dem
pw
Dienstprogramm können Sie außerdem Konten sperren und entsperren:Die Optionen und alle Parameter, die Sie übergeben, sind alle standardisiert (obwohl dies nicht immer für Aufrufbefehle gilt), sodass das Speichern minimiert wird. Alles in allem eine schöne Art, Dinge zu tun.
Hinweis: Die Ellipsen in den obigen Beispielen stellen Optionen und Parameter dar, die an
pw
keine zusätzlichen Benutzer oder Gruppen übergeben werden.quelle
Der Vollständigkeit halber würde ich am unteren Ende des Spektrums vipw (8) und vigr (8) erwähnen, direkt über "vi / etc / passwd" und "cat> / etc / passwd", aber direkt unter "useradd" ". Oh, und sie existieren in den meisten Unix-Varianten.
quelle
Alle diese Tools wurden letztendlich entwickelt, um Textdateien für Sie zu bearbeiten. Wenn Sie wissen möchten, wie Benutzer und Gruppen über Systeme verwaltet werden, sollten Sie sich mit diesen zugrunde liegenden Textdateien vertraut machen. Zum Glück gibt es nur zwei davon
/etc/passwd
und/etc/group
. Es gibt auch komplementäre/etc/shadow
und/etc/gshadow
Dateien zum Abschatten von Passwd bzw. Group.quelle
In vielen Situationen ist es immer noch nützlich zu wissen, wie man "/ etc / passwd" bearbeitet.
quelle
Wenn Sie ein anderes Backend als das Standard-Backend des lokalen Computers verwenden - OpenLDAP ist das am häufigsten verwendete -, ist cpu (Dienstprogramm zum Ändern des Kennworts) möglicherweise der gesuchte Befehl. Bei korrekter Konfiguration kann es auf anderen Computern als dem LDAP-Master ausgeführt werden. Die Syntax entspricht meist der von
useradd
etc mit dem Präfixcpu
. Also, um mich hinzuzufügen, könnte ich tunWeitere Informationen finden Sie auf der CPU-Manpage .
quelle
Wenn Ihre Frage auf beschränkt war
Alle Systeme haben jedoch Netzwerkzugriff auf einen einzelnen Server. Sie könnten so etwas wie NIS oder YP verwenden. Daher ist diese Antwort auf Administratoren innerhalb einer einzelnen Organisation beschränkt.
Sie haben immer noch das Problem, dass fast jede Distribution leicht unterschiedliche Möglichkeiten zum Konfigurieren von YP hat, die Konfiguration jedoch nur einmal erfolgt. Auch diese Art von Netzwerk ist nicht trivial.
Innerhalb eines einzelnen Standorts / Netzwerks gewinnen Sie dabei viel. In Kombination mit automount ist es mein Favorit, SSH auf jedem * nix-Computer ausführen zu können und alle meine Home-Dateien und Tools zur Verfügung zu haben.
Die Verteilung, die Sie für den Master auswählen, ist das System, das Sie zum Verwalten von Benutzern verwenden. Sie haben dann einen einzigen Satz von Tools / Dokumentationen zum Verwalten von Benutzern und Gruppen.
Es ist sogar möglich, so etwas wie LDAP- und Samba-Tools auf dem Master zu verwenden. Mit Samba kann ich meine Home-Dateien auch auf Windows-Computern zur Verfügung stellen.
quelle
Die nächste Sache, ein Standard ist , dass Sie bekommen
vi /etc/passwd
,vi /etc/shadow
undvi /etc/groups
. (Ketzer können ersetzenemacs
.) Alles, was ich seitdem gefunden habe, funktioniert nur auf einigen Systemen.Im Ernst, finden Sie heraus, über welche Tools Ihr Betriebssystem verfügt, und verwenden Sie sie. Erwarten Sie nur nicht, dass sie auf allen Systemen gleich funktionieren. Es wäre schön, wenn sie standardisiert wären, aber sie sind es nicht.
quelle
/etc/passwd
,/etc/shadow
,/etc/group
, und/etc/gshadow
. Dafür sind die Werkzeuge da. Menschen sind fehleranfällig, während Tools getestet wurden und (hoffentlich) fehlerfrei sind./etc/passwd
und Freunde direkt an. Verwenden Sievipw
undvigr
, was: Sperren Sie die Datei gegen gleichzeitige Ausgabe; Führen Sie Ihren Lieblingseditor aus ($VISUAL
). Ändern Sie die Datei nicht, wenn Sie einen Syntaxfehler machen. Auf einigen Systemen (z. B. FreeBSD) werden auch andere Dateien neu generiert, die synchron gehalten werden müssen.