finger
Analyser la sortie de finger -m <username>
. Pas de code d'erreur si aucun utilisateur n'a été trouvé, malheureusement, mais s'il n'est pas trouvé, une sortie d'erreur sera écrite. Aucun inconvénient jusqu'à présent.
finger -ms <username> 2>&1 1>/dev/null | wc -l
Imprimera 0
si l'utilisateur est trouvé (car il n'y a pas de sortie d'erreur), de plus grands nombres sinon.
chown
Exécuter (comme n'importe quel utilisateur, étonnamment) :
T=$( mktemp -t foo.XXX ) ; chown <username> $T
S'il échoue comme root
le nom du compte n'est pas valide.
S'il échoue comme non root
utilisateur, analyser la sortie éventuellement localisée pour Opération non autorisée ou utilisateur non valide (ou équivalents). Définir LANG
au préalable pour le faire de manière fiable.