Bloc-note d'un développeur web
Dans : Snippets
6 août 2009Sous Mac OS X 10.4 (ou Tiger) et versions antérieures, la lecture du nom réel d’un utilisateur pouvait se faire à l’aide de l’utilitaire niutil :
mehdi@localhost:~$ niutil -readprop / "/users/$USER" realname Mehdi Kabab
Mais le passage à Mac OS X 10.5 aka Leopard s’est fait sans lui. En effet, le gestionnaire NetInfo (dont niutil est un utilitaire) a disparu du système. Il nous faut désormais recourir à l’outil dscl.
Ainsi, sous Leopard, le nom réel d’un utilisateur se récupère de la sorte :
dscl . -read /Users/$USER RealName | awk '!/RealName/ {sub(" ",""); print $0}'
Si vous souhaitez rendre cette commande compatible Mac OS X 10.4 et 10.5, utilisez la version qui suit :
dscl . -read /Users/$USER RealName | tr "\n" ' ' | sed -E "s/^RealName:[ ]+//;s/[ ]+$//"
Attention, ça ne marchera que pour un utilisateur local. Si tu évolues dans un environnement où les utilisateurs sont définis sur un OpenDirectory (ou un LDAP), alors il n’y a rien à trouver dans le domaine local de la machine (".") :
Tu peux contourner le problème avec le domaine de recherche "/Search" :
qui va renvoyer tout ce qu’il trouve comme résultat pour la base locale (".") et pour tous les annuaires d’authentification connectés. Le défaut, c’est que si le login est défini en local ET sur un annuaire distant connecté, alors tu reçois plusieurs réponses :
mouahahahahahah les smart quotes :’) trop bien wordpress !
Les quotes ont été remises. Bourdel de WP >_>
Merci pour ces précisions très utiles !