Der id-Befehl in Linux wird verwendet, um die tatsächliche und effektive Benutzer-ID und Gruppen-ID eines Benutzers anzuzeigen.
In diesem Tutorial zeige ich Ihnen anhand einiger der gebräuchlichsten und nützlichsten Beispiele, wie Sie den Befehl id unter Linux verwenden.
id-Befehl unter Linux
Dies ist die Syntax für den id-Befehl:
id [options] [username]
Wenn Sie keinen Benutzernamen angeben, zeigt der Befehl die Details des aktuell angemeldeten Benutzers an.
id
Hier ist die Ausgabe, die es mir in Ubuntu Linux angezeigt hat.
[email protected]:~$ id
uid=1000(abhishek) gid=1000(abhishek) groups=1000(abhishek),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),119(lpadmin),130(lxd),131(sambashare)
In der obigen Ausgabe, Benutzer abhishek
hat uid 1000 und gid 1000. Das ist die primäre Gruppe, der Benutzer abhishek
gehört standardmäßig zu.
Abgesehen davon, der Benutzer abhishek
ist auch Mitglied bestimmter anderer Gruppen und diese Gruppen wurden auch in der Ausgabe angezeigt.
Beispiele für den id-Befehl
Hier sind die gebräuchlichsten Optionen für den id-Befehl:
Option | Beschreibung |
---|---|
-u | Drucken Sie die effektive Benutzer-ID |
-g | Drucken Sie die effektive Gruppen-ID |
-G | Drucken Sie die IDs aller Gruppen, denen der Benutzer angehört |
-n | Namen statt IDs ausgeben (muss mit -u, -g oder -G kombiniert werden) |
-r | Echte ID anstelle effektiver IDs ausgeben (muss mit -u, -g oder -G kombiniert werden) |
Echte vs. effektive Benutzer- und Gruppen-ID?
Dies könnte für Sie verwirrend sein. Wenn ein Benutzer erstellt wird, erhält er einen Benutzernamen, eine Benutzer-ID (UID), eine Standardgruppe, und die ID dieser Standardgruppe ist die GID für diesen Benutzer. Dies ist die „echte“ Benutzer- und Gruppen-ID.
Da unter Linux Prozesse als andere Benutzer und Gruppen ausgeführt werden können, gibt es auch einen zweiten Satz von IDs, die als effektive IDs bezeichnet werden.
Meistens sind die realen und effektiven UIDs und GIDs gleich. Es gibt jedoch Situationen, in denen ein normaler Benutzer eine privilegierte Datei ändern muss. Hier kommt das effektive ID-Konzept zum Einsatz. Das häufigste Beispiel ist der Befehl using passwd zum Ändern des Passworts, der die Datei /etc/passwd modifiziert, die root gehört.
Ich kann hier nicht ins Detail gehen, aber ich empfehle, hier darüber zu lesen. Sie sollten auch über SUID-, GUID- und Sticky-Bit-Berechtigungen in Linux lesen.
1. Drucken Sie die UID und GID eines bestimmten Benutzers
Um die uid und gid und alle anderen Gruppen-IDs eines Benutzers zu drucken, müssen Sie nur den Benutzernamen angeben:
id username
Sie können alle Benutzer in Ihrem Linux-System auflisten, um den gewünschten Benutzernamen zu erhalten.
2. Drucken Sie nur die UID eines Benutzers
Sie können das -u
verwenden Option zum Drucken der UID in Linux. Wie bereits erwähnt, werden, wenn Sie den Benutzernamen weglassen, die Informationen über den angemeldeten Benutzer angezeigt.
id -u userame
Denken Sie daran, dass nur die UID, der numerische Wert, nicht der Name angezeigt wird.
[email protected]:~$ id -u
1000
3. Nur die GID eines Benutzers drucken
Ebenso können Sie die Option -g
verwenden um die GID eines Benutzers auszudrucken. Wenn ich GID sage, ist es die numerische ID der Standardgruppe, zu der der Benutzer gehört.
id -g username
Auch hier wird nur die numerische ID der Gruppe angezeigt.
[email protected]:~$ id -g nobody
65534
4. Drucken Sie die IDs aller anderen Gruppen, denen der Benutzer angehört
Ein Benutzer kann mehreren Gruppen angehören. Dies ist eine grundlegende Funktion des Linux-Dateisystems. Sie können den usermod-Befehl verwenden und ihn zur sudo-Gruppe hinzufügen, um ihm Root-Rechte zu geben.
Sie können das -G
verwenden Option zum Anzeigen der IDs aller Gruppen, denen der Benutzer angehört.
id -G username
Auch hier wird nur die ID angezeigt.
[email protected]:~$ id -G abhishek
1000 4 24 27 30 46 119 130 131
5. Namen anstelle der numerischen IDs drucken
Nur die numerischen IDs können verwirrend sein. Wenn Sie die Namen möchten, können Sie das -n
kombinieren Option mit -u
, -g
oder -G
um die Namen anzuzeigen.
Wenn Sie beispielsweise alle Gruppen anzeigen möchten, denen ein Benutzer angehört, können Sie dies folgendermaßen verwenden:
id -nG username
Wenn ich das vorherige Beispiel mit der Option -n
verwende Folgendes wird angezeigt:
[email protected]:~$ id -nG abhishek
abhishek adm cdrom sudo dip plugdev lpadmin lxd sambashare
Bonus-Tipp:Drucken Sie die echten IDs aus
Alle obigen Beispiele zeigen die effektiven IDs an. Fast immer wird es die echte ID sein.
Wenn Sie jedoch sicherstellen möchten, dass Sie die echte ID erhalten, können Sie die Option -r
kombinieren mit -u
, -g
oder -G
.
Es kann wie folgt verwendet werden:
id -ru username
In Ordnung! Ich denke, Sie wissen jetzt genug über den id-Befehl. Wenn Sie Fragen oder Anregungen haben, können Sie gerne einen Kommentar hinterlassen.