12.4. Pourquoi les noms de logins sont encore restreints à 8 caractères ?

Vous pouvez penser qu'il est assez simple de changer UT_NAMESIZE et de reconstruire tout le monde, et que tout marcherait. Malheureusement, il y a souvent une escouade d'applications et d'utilitaires (y compris les outils systèmes) qui ont codé en dur les petits nombres (pas toujours "8" ou "9", mais d'autres plus étranges comme "15" ou "20") dans les structures et les buffers. Non seulement cela vous donnera des fichiers logs qui seront altérés (à cause des longueurs des variables enregistrés là où des enregistrement de taille fixées sont attendus), mais cela peut planter les clients NIS de Sun, et potentiellement causer d'autres problèmes lors de l'interaction avec d'autres systèmes UNIX.

Dans FreeBSD 3.0 et plus, la longueur maximale des noms a été augmentée à 16 caractères et tous ces divers utilitaires avec des tailles de noms codés en dur ont été trouvés et corrigés. Le fait que cela touche tant de domaines du système explique en fait pourquoi le changement n'a pas été fait avant la 3.0.

Si vous êtes absolument confiant dans votre habileté à trouver et à corriger ces sortes de problèmes par vous-même quand ils arrivent, vous pouvez augmenter la taille des noms de login dans les releases précédentes en éditant /usr/include/utmp.h et en changeant en fonction de la taille que vous voulez donner, la variable UT_NAMESIZE. Vous devez aussi mettre à jour la variable MAXLOGNAME dans /usr/include/sys/param.h pour correspondre au changement de UT_NAMESIZE. Au final, si vous construisez depuis les sources, n'oubliez pas que /usr/include est mis à jour à chaque fois ! Changer les fichiers appropriés dans /usr/src/... à la place.

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.