Porqué están los nombres de usuario restringidos a 8 caracteres

Pensarás que es fácil y suficiente con cambiar UT_NAMESIZE y reconstruir el kernel, y todo volverá a funcionar. Desafortunadamente hay aplicaciones y programas (incluyendo herramientas de sistema) que tienen en el propio código (no siempre 8 o 9, pero si 15 o 20) en estructuras, buffers… y rompería los clientes de NIS de Sun y sin duda existirían otros problemas interactuando con otros sistemas UNIX.

En FreeBSD 3.0 y superiores, se ha incrementado el número máxmimo de carácteres a 16 y todas esas utilidades con longitud de carácteres prefijada han sido encontradas y arregladas. El hecho de que este cambio afectase a muchas áreas del sistema es el motivo por el que el cambio no se ha hecho hasta la versión 3.0.

Si eres absolutamente cuidadoso y quieres arreglas tu mismo este problema en versiones anteriores, edita el archivo /usr/include/utmp.h y cambia el parámetro UT_NAMESIZE a la longitud que desees. También debes editar el archivo /usr/include/sys/param.h y poner el valor de MAXLOGNAME al mismo que UT_NAMESIZE. Finalmente, recompila los fuentes, no te olvides que el contenido de /usr/include es actualizado cada vez!. En su lugar, cambia los archivos apropiados en /usr/src/..

About the author