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.