Vous ne précisez pas de langage de programmation, je suppose donc que vous voulez utiliser l'interpréteur de commandes. une réponse pour les shells Posix .
Il y a deux étapes : obtenir l'enregistrement approprié, puis obtenir le champ que vous voulez de cet enregistrement.
Tout d'abord, l'obtention de l'enregistrement du compte se fait par en interrogeant le passwd
tableau :
$ user_name=foo
$ user_record="$(getent passwd $user_name)"
$ echo "$user_record"
foo:x:1023:1025:Fred Nurk,,,:/home/foo:/bin/bash
Pour les raisins secs hystériques, le nom complet de l'utilisateur est enregistré dans un champ appelé le "Champ "GECOS ; pour compliquer les choses, ce champ a souvent sa propre structure avec les nom complet comme l'un des nombreux sous-champs facultatifs . Ainsi, tout ce qui veut obtenir le nom complet de l'enregistrement du compte doit analyser ces deux niveaux.
$ user_record="$(getent passwd $user_name)"
$ user_gecos_field="$(echo "$user_record" | cut -d ':' -f 5)"
$ user_full_name="$(echo "$user_gecos_field" | cut -d ',' -f 1)"
$ echo "$user_full_name"
Fred Nurk
Votre Le langage de programmation dispose probablement d'une fonction de bibliothèque pour faire ça en moins d'étapes. En C, vous utiliseriez la fonction "getpwnam", puis vous analyseriez le champ GECOS.