Linux-Systemadministratoren stehen vor vielen Herausforderungen, und eine der laufenden Herausforderungen ist der Umgang mit Benutzerkonten. Das Onboarding, Offboarding, die Verwaltung von Passwörtern, das Deaktivieren von Konten, das Aktivieren von Konten, das Beibehalten von Inhalten des Basisverzeichnisses und das Korrigieren von Berechtigungen sind Aufgaben, die erledigt werden müssen, aber auch mühsam sind. Dieser Artikel bietet Ihnen eine schnelle Lösung zum Verwalten von Benutzerkonten auf lokalen Systemen. Sicher, es gibt Active Directory, LDAP und NIS+, aber was ist, wenn Sie wie viele von uns diese nicht verwenden? Sie müssen sich auf native Methoden verlassen, um den Job zu erledigen.
Ob Sie es glauben oder nicht, Sie benötigen nur wenige Befehle, um den Großteil Ihrer Benutzerverwaltungsaufgaben zu erledigen. Sie verwenden beispielsweise den passwd
Befehl zum Festlegen und Ändern von Passwörtern, aber er wird auch verwendet, um den Status eines Nutzerkontos zu prüfen, ein Passwort ablaufen zu lassen, die minimale und maximale Lebensdauer von Passwörtern festzulegen, ein Nutzerkonto zu deaktivieren und ein Nutzerkonto zu aktivieren.
Benutzerkonten erstellen
Das useradd
command ist Ihr Befehlszeilenfreund zum Erstellen von Benutzerkonten. Ein schneller man
useradd
bietet Ihnen alle Optionen, die Sie sich wünschen können. Normalerweise verwende ich nur eine Option, nämlich -c
(Kommentar), um den vollständigen Namen des Benutzers einzugeben. Sie können optional auch das Passwort und andere Parameter festlegen, aber ich tue es nicht, weil jedes Konto anders ist. Ich erstelle das Konto, lege das Passwort fest, lege alle anderen Optionen fest und kontaktiere dann den Benutzer, um ihn darüber zu informieren, dass sein Konto bereit ist.
Die Syntax ist einfach:
$ useradd -c "User's Full Name" account_name
$ sudo useradd -c "Mary Jones" mjones$
passwd mjones
Changing password for user mjones.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Wenn Sie generische Passwörter für neue Benutzer verwenden, die einfach einzugeben sind, erhalten Sie eine Warnmeldung, dass Ihr Passwort nicht den Standardanforderungen entspricht. Da Sie der Root-Benutzer sind, können Sie diesen Fehler umgehen, normale Benutzer jedoch nicht:
$ passwd mjones
Changing password for user mjones.
New password:
BAD PASSWORD: The password fails the dictionary check - it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.
Das ist alles, was Sie tun müssen, um ein neues Benutzerkonto zu erstellen und diesem ein Passwort zuzuweisen. Sehen Sie sich ein passwd
an Befehlsmagie im nächsten Abschnitt.
Das vielseitige passwd
entdecken Befehl
Wie bereits erwähnt, ist der passwd
Der Befehl kann mehr als nur Passwörter ändern. Es ist einer der vielseitigeren verfügbaren Linux-Befehle. Hier sind einige nützliche Beispiele für passwd
für die Benutzerverwaltung tun können.
Verwenden Sie dieses Format, um den Status eines Benutzerkontos zu überprüfen.
$ passwd -S account_name
Beispiel:
$ sudo passwd -S msmith
msmith PS 2019-11-11 0 99999 7 -1 (Password set, SHA512 crypt.)
Der PS
bedeutet, dass das Passwort für den Benutzer msmith
eingestellt ist, aber das können Sie auch an der angezeigten Meldung erkennen. Ältere Versionen von passwd
verwendet nicht die gleichen Symbole. Beispiel:der Buchstabe P
wurde allein für Passwortsatz verwendet . Das angezeigte Datum ist das Datum, an dem das Passwort zuletzt geändert oder festgelegt wurde.
Wenn ein Passwort abgelaufen ist, sehen Sie die folgende Meldung:
$ sudo passwd -S djones
djones PS 1969-12-31 0 99999 7 -1 (Password set, SHA512 crypt.)
Sie können sehen, dass das Passwort jetzt die letzte Änderungszeit vom 31.12.1969 hat. Wenn Sie die Linux- oder UNIX-Geschichte kennen, werden Sie erkennen, dass der Beginn der Computerwelt der 1970-01-01 war. Wenn Sie also die Zeit der letzten Änderung auf außerhalb der Epochenzeit setzen, läuft das Passwort ab.
Das Erstellen eines neuen Benutzerkontos ohne Änderung des Kontokennworts führt zu folgendem Kennwortstatus:
$ sudo passwd -S smithm
smithm LK 2019-11-11 0 99999 7 -1 (Password locked.)
Der LK
Bezeichnung bedeutet, dass das Konto gesperrt ist, wie die Meldung zeigt. Nochmals, vor dieser neuesten Version des passwd
Befehl, diese Nachricht existierte nicht. In der Tat, wenn Sie man passwd
verwenden , sehen Sie auch die alten Bezeichnungen:L
, NP
, und P
.
So laufen Sie ein Passwort ab:
$ sudo passwd -e msmith
Expiring password for user msmith.
passwd: Success
Eine Statusprüfung bestätigt das abgelaufene Passwort für msmith
:
$ sudo passwd -S msmith
msmith PS 1969-12-31 0 99999 7 -1 (Password set, SHA512 crypt.)
Sobald ein Kennwort abgelaufen ist, entweder durch Richtlinie oder durch manuelles Ablaufen, können Sie es nicht mehr ablaufen lassen. Das System fordert den Benutzer auf, das Passwort bei seiner nächsten Anmeldung zu ändern.
Sie können auch kein Konto entsperren, für das kein Kennwort festgelegt wurde. Wenn Sie ein neues Benutzerkonto erstellen und kein Passwort festlegen, wird das Konto gesperrt. Um es zu entsperren, müssen Sie ein Passwort festlegen.
Sie können das Konto eines Benutzers sperren, indem Sie passwd
verwenden -l
des Befehls Option:
$ sudo passwd -S mjones
mjones PS 2019-11-11 0 99999 7 -1 (Password set, SHA512 crypt.)
$ sudo passwd -l mjones
Locking password for user mjones.
passwd: Success
$ sudo passwd -S mjones
mjones LK 2019-11-11 0 99999 7 -1 (Password locked.)
Verwenden Sie zum Entsperren des Kontos den passwd
-u
des Befehls Möglichkeit:
$ sudo passwd -u mjones
Unlocking password for user mjones.
passwd: Success
$ sudo passwd -S mjones
mjones PS 2019-11-11 0 99999 7 -1 (Password set, SHA512 crypt.)
Verwenden Sie die folgenden Flags, um die Mindestlebensdauer des Kennworts festzulegen (-n
), maximale Kennwortlebensdauer (-x
), Warnung vor Ablauf (-w
) und inaktiv bis deaktiviert (-i
) jeweils in Tagen. Die Reihenfolge der Optionen spielt keine Rolle:
$ sudo passwd -n 1 -x 90 -w 3 -i 10 djones
Adjusting aging data for user djones.
passwd: Success
$ sudo passwd -S djones
djones PS 2020-12-31 1 90 3 10 (Password set, SHA512 crypt.)
Es ist gut, den -n
zu setzen auf mindestens einen Tag, da dies verhindert, dass ein Benutzer wiederholt seine Passwörter ändert.
Ich hoffe, Sie haben eine neue Wertschätzung für passwd
Befehl. Wenn Sie es bisher nur zum Ändern von Passwörtern verwendet haben, haben Sie eine Menge Funktionalität und Leistung verpasst.
[Suchen Sie nach mehr? Vielleicht interessieren Sie sich auch für den Linux-Spickzettel für Benutzer und Berechtigungen.]
Benutzerkonten entfernen
Das Entfernen von Benutzerkonten ist ein heikles Thema. Der Grund dafür, dass es ein heikles Thema ist, ist, dass das Entfernen eines Benutzerkontos dauerhaft ist. Einmal entfernt, ist es weg. Im Allgemeinen besteht die Richtlinie in Unternehmen darin, das Konto für einen bestimmten Zeitraum zu deaktivieren, das Basisverzeichnis des Nutzers zur Archivierung an einen sicheren Ort zu kopieren und dann nach der Wartezeit das Konto zu entfernen.
Wenn ich ein Benutzerkonto von einem System entferne, sind alle Spuren verschwunden. Das Konto wird aus /etc/passwd
entfernt und das Home-Verzeichnis wird ebenfalls entfernt. Um diese umfassende Änderung vorzunehmen, verwende ich userdel
Befehl mit dem -r
Option im Format:
$ userdel -r account_name
Beispiel:
$ sudo userdel -r djones
In typischer UNIX- und Linux-Manier gibt es kein Dialogfeld, das Ihnen mitteilt, dass das Konto und alle Spuren des Benutzers jetzt aus dem System entfernt wurden. Nach dem userdel
Befehl abgeschlossen ist, kehren Sie zu einer Eingabeaufforderung zurück.
Abschluss
Die Verwaltung von Benutzerkonten ist nur eine der vielen Freuden eines Systemadministrators. In geschäftigeren Unternehmen kann dies ziemlich viel Zeit in Anspruch nehmen. In kleineren Umgebungen vergessen Sie jedoch möglicherweise bald das gesamte passwd
Befehlsoptionen und entscheide dich, Konten manuell zu entfernen.
Ich rate Ihnen, diesen Artikel mit einem Lesezeichen zu versehen und nicht zu versuchen, Konten manuell zu entfernen. Die Chancen stehen gut, dass Sie unterwegs etwas vergessen. Es besteht auch die Möglichkeit, dass Sie ein oder zwei Befehle übersehen und mehr entfernen, als Sie beim Entfernen geplant hatten. Das passwd
Datei und die entsprechende /etc/shadow
Datei sind zu wichtig, um ihre Bearbeitung dem Zufall zu überlassen, egal wie sicher Sie mit Ihrer Tastaturleistung sind.
Imbiss: useradd
, userdel
, passwd
[Möchten Sie Red Hat Enterprise Linux ausprobieren? Jetzt kostenlos herunterladen.]