Alle User mit UserID unter Linux auflisten


Aus gegebenen Anlass wollte ich einem User eine fixe User ID zuweisen. Vorab galt es zu verifizieren ob es bereits einen User mit entsprechender ID gibt.

Nun könnte man entweder per

id -u <benutzername>

einzeln nachprüfen, oder aber man wirft einen Blick in /etc/passwd. Dort wird man erstmals von einer einer Fülle an Information erschlagen. Freilich reicht der Blick da rein, doch was tun wenn nicht nur ~30 Benutzer am System vorhanden sind sondern 50+ oder gar 100+?

Auch hier gäbe es einen schnellen Weg:

cat /etc/passwd | grep <idnummer>

Aber mal ehrlich, auch wenns flott geht, wir wollen das noch dazu schön aufbereitet!

Hier kommt awk zum Zuge:

awk -F":" '{ print "Die UserID " $3 "\tist vom User: " $1 "\tbelegt"}' /etc/passwd | grep <idnummer>

Kurz erklärt, wir erzeugen uns eine eigene Ausgabe, und teilen den Inhalt von /etc/passwd in verschiedene Variablen auf. Dazu benutzen wir den Doppelpunkt als Trennzeichen: -F“:“

‚{ print“<inhalt>“}‘ damit weisen wir unsere individuelle Ausgabe an

$1 $2 $3 sind die jeweiligen Variablen die durch das aufteilen der Zeilen durch das Trennzeichen erzeugt wurden, auf Platz 1 steht der Username, auf Platz 3 die Userid.

Als letzte Variable geben wir noch das auszuwertende File an /etc/passwd.

Natürlich filtern wir wieder mittels | grep <idnummer> nach der von uns gesuchten ID und bekommen, bei einem Treffer nun eine kleine nette Ausgabe:

Die UserID 2222    ist vom User: awktest      belegt

Ähnliche Artikel:

Autor: Thomas Pummer

Thomas Pummer ist Softwareentwickler an der Universität Wien. In seiner Freizeit betreut er das Open Source Projekt TrayRSS und werkt an diversen anderen kleinen Projekten. Er ist sehr interessiert an Open Source und Webentwicklung und testet gern neue Programmiersprachen.

Schreibe einen Kommentar

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

*