Unix / Linux - Benutzerverwaltung
In diesem Kapitel werden wir uns ausführlich mit der Benutzerverwaltung unter Unix befassen.
Auf einem Unix-System gibt es drei Arten von Konten:
Root-Konto
Dies wird auch genannt superuserund hätte eine vollständige und uneingeschränkte Kontrolle über das System. Ein Superuser kann beliebige Befehle ohne Einschränkung ausführen. Dieser Benutzer sollte als Systemadministrator angenommen werden.
Systemkonten
Systemkonten sind diejenigen, die für den Betrieb systemspezifischer Komponenten benötigt werden, z. B. E-Mail-Konten und die sshdKonten. Diese Konten werden normalerweise für eine bestimmte Funktion in Ihrem System benötigt, und Änderungen an ihnen können sich nachteilig auf das System auswirken.
Benutzerkonten
Benutzerkonten bieten Benutzern und Benutzergruppen interaktiven Zugriff auf das System. Allgemeine Benutzer werden normalerweise diesen Konten zugewiesen und haben normalerweise nur eingeschränkten Zugriff auf wichtige Systemdateien und -verzeichnisse.
Unix unterstützt ein Konzept für Gruppenkonten, bei dem mehrere Konten logisch gruppiert werden. Jedes Konto wäre Teil eines anderen Gruppenkontos. Eine Unix-Gruppe spielt eine wichtige Rolle bei der Verwaltung von Dateiberechtigungen und der Prozessverwaltung.
Benutzer und Gruppen verwalten
Es gibt vier Hauptverwaltungsdateien für Benutzer -
/etc/passwd- Behält die Benutzerkonto- und Passwortinformationen. Diese Datei enthält die meisten Informationen zu Konten auf dem Unix-System.
/etc/shadow- Enthält das verschlüsselte Passwort des entsprechenden Kontos. Nicht alle Systeme unterstützen diese Datei.
/etc/group - Diese Datei enthält die Gruppeninformationen für jedes Konto.
/etc/gshadow - Diese Datei enthält Informationen zu sicheren Gruppenkonten.
Überprüfen Sie alle oben genannten Dateien mit dem cat Befehl.
In der folgenden Tabelle sind die Befehle aufgeführt, die auf den meisten Unix-Systemen zum Erstellen und Verwalten von Konten und Gruppen verfügbar sind.
Sr.Nr. | Befehl & Beschreibung |
---|---|
1 | useradd Fügt dem System Konten hinzu |
2 | usermod Ändert Kontoattribute |
3 | userdel Löscht Konten aus dem System |
4 | groupadd Fügt dem System Gruppen hinzu |
5 | groupmod Ändert Gruppenattribute |
6 | groupdel Entfernt Gruppen aus dem System |
Sie können die Manpage-Hilfe verwenden , um die vollständige Syntax für jeden hier genannten Befehl zu überprüfen.
Erstellen Sie eine Gruppe
Wir werden jetzt verstehen, wie man eine Gruppe erstellt. Dazu müssen wir Gruppen erstellen, bevor wir ein Konto erstellen. Andernfalls können wir die vorhandenen Gruppen in unserem System verwenden. Wir haben alle Gruppen aufgelistet in/etc/groups Datei.
Alle Standardgruppen sind systemkontospezifische Gruppen, und es wird nicht empfohlen, sie für normale Konten zu verwenden. Im Folgenden finden Sie die Syntax zum Erstellen eines neuen Gruppenkontos:
groupadd [-g gid [-o]] [-r] [-f] groupname
In der folgenden Tabelle sind die Parameter aufgeführt -
Sr.Nr. | Option & Beschreibung |
---|---|
1 | -g GID Der numerische Wert der Gruppen-ID |
2 | -o Diese Option ermöglicht das Hinzufügen einer Gruppe mit nicht eindeutiger GID |
3 | -r Diese Flagge weist an groupadd um ein Systemkonto hinzuzufügen |
4 | -f Diese Option wird nur mit dem Erfolgsstatus beendet, wenn die angegebene Gruppe bereits vorhanden ist. Wenn mit -g die angegebene GID bereits vorhanden ist, wird eine andere (eindeutige) GID ausgewählt |
5 | groupname Tatsächlicher Gruppenname, der erstellt werden soll |
Wenn Sie keinen Parameter angeben, verwendet das System die Standardwerte.
Im folgenden Beispiel wird eine Entwicklergruppe mit Standardwerten erstellt, was für die meisten Administratoren sehr akzeptabel ist.
$ groupadd developers
Ändern Sie eine Gruppe
Verwenden Sie zum Ändern einer Gruppe die groupmod Syntax -
$ groupmod -n new_modified_group_name old_group_name
Geben Sie - ein, um den Gruppennamen der Entwickler_2 in "Entwickler" zu ändern.
$ groupmod -n developer developer_2
So ändern Sie die finanzielle GID in 545 -
$ groupmod -g 545 developer
Eine Gruppe löschen
Wir werden jetzt verstehen, wie man eine Gruppe löscht. Um eine vorhandene Gruppe zu löschen, benötigen Sie lediglich diegroupdel command und die group name. Um die Finanzgruppe zu löschen, lautet der Befehl -
$ groupdel developer
Dadurch wird nur die Gruppe entfernt, nicht die dieser Gruppe zugeordneten Dateien. Die Dateien sind weiterhin für ihre Besitzer zugänglich.
Ein Konto erstellen
Lassen Sie uns sehen, wie Sie ein neues Konto auf Ihrem Unix-System erstellen. Es folgt die Syntax zum Erstellen eines Benutzerkontos:
useradd -d homedir -g groupname -m -s shell -u userid accountname
In der folgenden Tabelle sind die Parameter aufgeführt -
Sr.Nr. | Option & Beschreibung |
---|---|
1 | -d homedir Gibt das Ausgangsverzeichnis für das Konto an |
2 | -g groupname Gibt ein Gruppenkonto für dieses Konto an |
3 | -m Erstellt das Home-Verzeichnis, wenn es nicht vorhanden ist |
4 | -s shell Gibt die Standard-Shell für dieses Konto an |
5 | -u userid Sie können eine Benutzer-ID für dieses Konto angeben |
6 | accountname Tatsächlich zu erstellender Kontoname |
Wenn Sie keinen Parameter angeben, verwendet das System die Standardwerte. Dasuseradd Befehl ändert die /etc/passwd, /etc/shadow, und /etc/group Dateien und erstellt ein Home-Verzeichnis.
Das folgende Beispiel erstellt ein Konto mcmohdund setzt sein Home-Verzeichnis auf /home/mcmohd und die Gruppe als developers. Diesem Benutzer würde Korn Shell zugewiesen.
$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd
Stellen Sie vor dem Ausgeben des obigen Befehls sicher, dass Sie die Entwicklergruppe bereits mit dem Befehl erstellt habengroupadd Befehl.
Sobald ein Konto erstellt wurde, können Sie sein Passwort mit dem festlegen passwd Befehl wie folgt -
$ passwd mcmohd20
Changing password for user mcmohd20.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
Wenn Sie tippen passwd accountnameSie haben die Möglichkeit, das Passwort zu ändern, sofern Sie ein Superuser sind. Andernfalls können Sie nur Ihr Kennwort mit demselben Befehl ändern, ohne jedoch Ihren Kontonamen anzugeben.
Ändern Sie ein Konto
Das usermodMit dem Befehl können Sie über die Befehlszeile Änderungen an einem vorhandenen Konto vornehmen. Es verwendet die gleichen Argumente wie dieuseradd Befehl sowie das Argument -l, mit dem Sie den Kontonamen ändern können.
Zum Beispiel, um den Kontonamen zu ändern mcmohd zu mcmohd20 und um das Ausgangsverzeichnis entsprechend zu ändern, müssen Sie den folgenden Befehl ausgeben:
$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20
Löschen Sie ein Konto
Das userdelBefehl kann verwendet werden, um einen vorhandenen Benutzer zu löschen. Dies ist ein sehr gefährlicher Befehl, wenn er nicht mit Vorsicht verwendet wird.
Für den Befehl ist nur ein Argument oder eine Option verfügbar .r, um das Home-Verzeichnis und die Mail-Datei des Kontos zu entfernen.
Geben Sie zum Entfernen des Kontos mcmohd20 den folgenden Befehl aus:
$ userdel -r mcmohd20
Wenn Sie das Home-Verzeichnis zu Sicherungszwecken behalten möchten, lassen Sie das weg -rMöglichkeit. Sie können das Home-Verzeichnis zu einem späteren Zeitpunkt nach Bedarf entfernen.