Articles

Wie man Benutzer unter CentOS auflistet

Linux-basierte Betriebssysteme wie CentOS sind dafür ausgelegt, mit einer großen Anzahl von Benutzern gleichzeitig zu arbeiten. Wenn Sie jemals ein Shared-Linux-basiertes Webhosting verwendet haben, dann haben Sie es vielleicht bemerkt. Ihr Benutzername ist vielleicht so etwas wie xyz_232323. Das bedeutet technisch gesehen, dass es viele Benutzer gibt und jeder der Benutzer nummeriert ist. Als Linux-Systemadministrator müssen Sie also wissen, wie Sie die Benutzer unter CentOS und anderen Linux-Distributionen auflisten können.

In diesem Artikel zeige ich Ihnen, wie Sie Benutzer unter CentOS 7 auflisten können. Fangen wir an.

Die Benutzerdaten werden auf dem CentOS-Betriebssystem in der Datei /etc/passwd gespeichert. Dies ist eine reine Textdatei. Sie können diese also mit dem Befehl less oder cat wie folgt lesen:

$ less /etc/passwd

Wie Sie sehen können, wird eine Liste aller Benutzer ausgegeben. Die Informationen über einen einzelnen Benutzer werden in einer einzeiligen Datei /etc/passwd gespeichert. Jede Zeile enthält viele Informationen über den jeweiligen Benutzer, getrennt durch einen Doppelpunkt (:)

Eine Zeile in der Datei /etc/passwd enthält die folgenden Informationen, getrennt durch einen Doppelpunkt (:)

Benutzername : Passwort : UID : GID : Benutzerdetails : Heimatverzeichnispfad : Standardshell

Hier, Benutzername – Der Anmeldename des Benutzers. Er darf keine Leerzeichen und andere Sonderzeichen enthalten. Nur alphanumerische Zeichen sind erlaubt.

Passwort – Auf Linux-basierten Betriebssystemen wie CentOS wird das Passwort in der Datei /etc/shadow gespeichert. Wenn das Passwort gesetzt ist, wird x in diesem Feld gespeichert.

UID – Auf Linux-basierten Betriebssystemen hat jeder Benutzer einen alphanumerischen Namen oder Username und eine numerische ID, die User ID oder UID genannt wird. Für normale Benutzer beginnt die UID bei 1000. Der Root-Benutzer hat die UID 0.

GID – Auf Linux-basierten Betriebssystemen hat jede Gruppe einen Gruppennamen und eine numerische ID, die als Group ID oder GID bezeichnet wird. Unter Linux muss jeder Benutzer Mitglied in mindestens einer Gruppe sein. Daher wird für jeden erstellten Benutzer auch eine Gruppe mit demselben Namen wie der Benutzername erstellt. Der Benutzer wird dann zu der Gruppe hinzugefügt. In diesem Feld wird die GID der primären Gruppe hinzugefügt. Die primäre Gruppe ist die Standardgruppe des Benutzers. Wenn ein Benutzer Mitglied in mehreren Gruppen ist, kann er sie während seiner Anmeldung mit dem Befehl newgrp ändern. Die GID für die gewöhnlichen Gruppen beginnt bei 1000. Wenn Ihr Linux-System nicht speziell konfiguriert ist, sollte die GID mit der UID identisch sein. Die Root-Gruppe hat die GID 0.

Benutzerdetails – Dieses Feld enthält den vollständigen Namen und andere persönliche Informationen über den Benutzer als kommagetrennte Liste. Die häufigste Verwendung dieses Feldes ist das Festlegen des vollen Namens des Benutzers. Geben Sie hier einfach den vollen Namen Ihres Benutzernamens ein und er sollte gesetzt sein.

Home Directory Path – Dieses Feld enthält den Pfad zu einem Verzeichnis, in dem alle Benutzerdateien gespeichert werden. Die Shell-Variable $HOME wird von diesem Feld aus gesetzt.

Standard-Shell – Auf Linux-basierten Betriebssystemen müssen Sie eine Shell für Ihren Benutzer festlegen. Standardmäßig sollten für normale Benutzer, die sich am System anmelden können, die Shell sh (/bin/sh) und bash (/bin/bash) eingestellt sein. Es gibt aber auch andere Shells wie zsh, csh usw. Die Systembenutzer haben die Shell /sbin/nologin eingestellt, so dass sie sich nicht am System anmelden können. Wenn Sie die Anmeldung für einige Benutzer deaktivieren möchten, setzen Sie dieses Feld für diese Benutzer einfach auf /sbin/nologin.

Die gleichen Informationen, wie sie in der Datei /etc/passwd stehen, können Sie mit dem folgenden Befehl abrufen:

$ getent passwd

Ausgabe des getent password:

Nur Liste der Benutzernamen aus der Datei /etc/passwd extrahieren:

Die Datei /etc/passwd enthält eine Menge Informationen. Wenn Sie nur den Benutzernamen aus der durch Doppelpunkt(:) getrennten Liste extrahieren möchten, können Sie dazu den Befehl awk oder cut verwenden.

Sie können den folgenden Befehl ausführen, um den Anmeldenamen oder Benutzernamen mit dem cut-Befehl zu extrahieren:

$ cut -d: -f1 /etc/passwd

Oder

$ getent passwd | cut -d: -f1

Wie Sie sehen können, werden alle Benutzernamen extrahiert.

Sie können das gleiche mit awk wie folgt machen:

$ awk -F: ‚{print $1}‘ /etc/passwd

Oder,

$ getent passwd | awk -F: ‚{print $1}‘

Wie Sie sehen können, erhalte ich die gleiche Ausgabe.

Liste der Benutzer, die sich am System anmelden können:

Wenn Sie alle Benutzer auflisten möchten, die sich an Ihrem CentOS-Betriebssystem anmelden können, dann führen Sie folgenden Befehl aus:

$ getent passwd | egrep -v ‚/s?bin/(nologin|shutdown|sync|halt)‘ | cut -d: -f1

Wie Sie sehen können, können sich nur 4 Benutzer meines CentOS-Rechners anmelden, die anderen Benutzer sind Systembenutzer. Sie können sich nicht am System anmelden.

So kann man also die Benutzer auf CentOS auflisten. Vielen Dank für das Lesen dieses Artikels.

Eine Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.