Der Befehl id zeigt Benutzer- und Gruppen-IDs des aktuellen oder eines angegebenen Benutzers an. Er ist besonders nützlich für die Überprüfung von Zugriffsrechten und die Verwendung in Shell-Skripten.

Syntax des “id”-Befehls

Die Syntax für den id-Befehl lautet wie folgt:

id [OPTIONEN] [BENUTZERNAME]
  • OPTIONEN - Flags, die die Ausgabe steuern.
  • BENUTZERNAME - Der abzufragende Benutzer. Ohne Angabe werden die Daten des aktuellen Benutzers angezeigt.

Verwendung des “id”-Befehls

Ohne Optionen zeigt id die Benutzer-ID (uid), die primäre Gruppen-ID (gid) und alle zusätzlichen Gruppenmitgliedschaften (groups) an:

id

Die Ausgabe sieht beispielsweise so aus:

uid=1000(max) gid=1000(max) groups=1000(max),4(adm),27(sudo),998(docker)

Falls SELinux aktiviert ist, erscheint zusätzlich der Sicherheitskontext:

uid=1000(max) gid=1000(max) groups=1000(max) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Informationen zu einem anderen Benutzer abrufen

Um die IDs eines bestimmten Benutzers abzufragen, übergibst du den Benutzernamen als Argument:

id anna
uid=1001(anna) gid=1001(anna) groups=1001(anna),998(docker)

Bei numerischen Benutzernamen besteht eine Besonderheit: Existiert ein Benutzer mit dem Namen 1010, hat die Namenssuche Vorrang. Um explizit nach der numerischen ID zu suchen, stellst du ein + voran:

id +1010

Nur die Benutzer-ID anzeigen

Mit der Option -u (--user) gibst du nur die Benutzer-ID aus:

id -u
1000

Nur die Gruppen-ID anzeigen

Die Option -g (--group) zeigt nur die primäre Gruppen-ID:

id -g
1000

Alle Gruppenmitgliedschaften anzeigen

Mit -G (--groups) erhältst du die IDs aller Gruppen, denen der Benutzer angehört:

id -G
1000 4 27 998

Namen statt Nummern ausgeben

Die Option -n (--name) zeigt Namen anstelle von numerischen IDs. Sie funktioniert nur in Kombination mit -u, -g oder -G:

id -un
max

Die Ausgabe von id -un entspricht der von whoami. Mit id -Gn erhältst du das gleiche Ergebnis wie mit dem Befehl groups:

id -Gn
max adm sudo docker

Reale statt effektive IDs anzeigen

Die Option -r (--real) gibt die realen Werte anstelle der effektiven aus. Diese unterscheiden sich beispielsweise bei Programmen mit gesetztem SUID-Bit:

id -ur

SELinux-Sicherheitskontext anzeigen

Mit -Z (--context) zeigst du nur den SELinux-Sicherheitskontext:

id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Falls SELinux nicht aktiviert ist, gibt der Befehl eine Fehlermeldung aus.

NUL-Trennzeichen für Skripte

Die Option -z (--zero) trennt die Ausgabeelemente mit dem NUL-Zeichen statt mit Leerzeichen. Das ist nützlich für die Weiterverarbeitung in Skripten:

id -zG

Zusammenfassung

Der Befehl id liefert schnell Informationen über Benutzer- und Gruppenzugehörigkeiten. Mit den verschiedenen Optionen lässt sich die Ausgabe gezielt auf einzelne Werte beschränken, was die Verwendung in Shell-Skripten erleichtert.

Verwandte Artikel