La commande id sous Linux est utilisée pour afficher l'ID utilisateur réel et effectif et l'ID de groupe d'un utilisateur.
Dans ce didacticiel, je vais vous montrer comment utiliser la commande id sous Linux avec certains des exemples les plus courants et les plus utiles.
commande id sous Linux
Voici la syntaxe de la commande id :
id [options] [username]
Si vous ne fournissez pas de nom d'utilisateur, la commande affiche les détails de l'utilisateur actuellement connecté.
id
Voici la sortie affichée pour moi dans Ubuntu Linux.
[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)
Dans la sortie ci-dessus, l'utilisateur abhishek
a uid 1000 et gid 1000. C'est le groupe principal de l'utilisateur abhishek
appartient à par défaut.
En dehors de cela, l'utilisateur abhishek
est également membre de certains autres groupes et ces groupes ont également été affichés dans la sortie.
Exemples de commande id
Voici les options les plus courantes pour la commande id :
Option | Description |
---|---|
-u | Imprimer l'ID utilisateur effectif |
-g | Imprimer l'identifiant de groupe effectif |
-G | Imprimer les identifiants de tous les groupes auxquels l'utilisateur appartient |
-n | Afficher les noms au lieu des identifiants (doit être combiné avec -u, -g ou -G) |
-r | Afficher l'ID réel au lieu des ID effectifs (doit être combiné avec -u, -g ou -G) |
Identifiant d'utilisateur et de groupe réel ou effectif ?
Cela pourrait être source de confusion pour vous. Lorsqu'un utilisateur est créé, il reçoit un nom d'utilisateur, un identifiant d'utilisateur (uid), un groupe par défaut et l'identifiant de ce groupe par défaut est le gid de cet utilisateur. Il s'agit du "vrai" ID d'utilisateur et de groupe.
Étant donné que sous Linux, les processus peuvent être exécutés en tant qu'autres utilisateurs et groupes, il existe également un deuxième ensemble d'ID appelés ID effectifs.
La plupart du temps, les UID et GID réels et effectifs sont les mêmes. Mais il existe des situations où un utilisateur régulier doit modifier un fichier privilégié. C'est là que le concept d'identification efficace est utilisé. L'exemple le plus courant est l'utilisation de la commande passwd pour changer le mot de passe qui modifie le fichier /etc/passwd appartenant à root.
Je ne peux pas entrer dans les détails ici, mais je recommande de lire à ce sujet ici. Vous devriez également lire les informations sur les autorisations SUID, GUID et sticky bit sous Linux.
1. Imprimer l'UID et le GID d'un certain utilisateur
Pour imprimer l'uid et le gid et tous les autres identifiants de groupe d'un utilisateur, il vous suffit de spécifier le nom d'utilisateur :
id username
Vous pouvez répertorier tous les utilisateurs de votre système Linux pour obtenir le nom d'utilisateur souhaité.
2. Imprimer uniquement l'UID d'un utilisateur
Vous pouvez utiliser le -u
option pour imprimer l'UID sous Linux. Comme mentionné précédemment, si vous omettez le nom d'utilisateur, il affiche les informations sur l'utilisateur connecté.
id -u userame
Gardez à l'esprit qu'il affiche uniquement l'UID, la valeur numérique, pas le nom.
[email protected]:~$ id -u
1000
3. Imprimer uniquement le GID d'un utilisateur
De même, vous pouvez utiliser l'option -g
pour imprimer le GID d'un utilisateur. Quand je dis GID, c'est l'ID numérique du groupe par défaut auquel appartient l'utilisateur.
id -g username
Encore une fois, il n'affichera que l'ID numérique du groupe.
[email protected]:~$ id -g nobody
65534
4. Imprimer les identifiants de tous les autres groupes auxquels appartient l'utilisateur
Un utilisateur peut appartenir à plusieurs groupes. Il s'agit d'une fonctionnalité de base du système de fichiers Linux. Vous pouvez utiliser la commande usermod et l'ajouter au groupe sudo pour lui donner les privilèges root.
Vous pouvez utiliser le -G
option pour afficher les identifiants de tous les groupes auxquels appartient l'utilisateur.
id -G username
Cela aussi affiche uniquement l'ID.
[email protected]:~$ id -G abhishek
1000 4 24 27 30 46 119 130 131
5. Imprimer les noms au lieu des identifiants numériques
Seuls les identifiants numériques peuvent prêter à confusion. Si vous voulez les noms, vous pouvez combiner les -n
option avec -u
, -g
ou -G
pour afficher les noms.
Par exemple, si vous souhaitez afficher tous les groupes auxquels appartient un utilisateur, vous pouvez l'utiliser comme ceci :
id -nG username
Si j'utilise l'exemple précédent avec l'option -n
voici ce qu'il affiche :
[email protected]:~$ id -nG abhishek
abhishek adm cdrom sudo dip plugdev lpadmin lxd sambashare
Astuce bonus :imprimez les véritables identifiants
Tous les exemples ci-dessus affichent les identifiants effectifs. Presque tout le temps, ce sera la véritable pièce d'identité.
Cependant, si vous voulez vous assurer d'obtenir le véritable ID, vous pouvez combiner l'option -r
avec -u
, -g
ou -G
.
Il peut être utilisé comme ceci :
id -ru username
Très bien! Je pense que vous en savez assez sur la commande id maintenant. Si vous avez des questions ou des suggestions, n'hésitez pas à laisser un commentaire.