¿Por qué limitar la longitud máxima del nombre de usuario a 8 caracteres?

13

A lo largo de mi humilde carrera en TI, generalmente veo que la longitud del nombre de usuario es limitada (generalmente de 8 caracteres). Esto ocurre en una variedad de sistemas, incluyendo Active Directory y aplicaciones de bases de datos.

¿Hay alguna razón para esto? ¿Hay mejores prácticas con respecto a la creación de nombre de usuario?

Geordan
fuente
1
Buena pregunta, pero me estremezco cada vez que veo el término "mejor práctica". No hay tal animal.
John Gardeniers

Respuestas:

14

Es una limitación de los sistemas Unix heredados, y el servicio de directorio NIS en particular. Por lo general, esta restricción es válida si la organización está tratando de mantener los nombres de usuario consistentes en todas las aplicaciones (lo que generalmente es una buena idea).

jgoldschrafe
fuente
1
+1, el mínimo común denominador causa muchas de estas restricciones. AD puede admitir 256 nombres de usuario de caracteres, pero ese servidor Solaris 7 en el núcleo fuerza el máximo a 8 caracteres. Además, se aplican las mismas restricciones a la longitud de la contraseña.
sysadmin1138
Oh, oye, el tipo de blog que leo de vez en cuando. ¿Cenar? :)
jgoldschrafe
1
Y en los sistemas MSWindows, heredados del límite MSDOS de 8 caracteres en un nombre de archivo
symcbean
No, eso se eliminó - con Windows 95. Incluso Fat obtuvo una actualización que incluye el modo de compatibilidad;)
TomTom
6

El principal con el que he visto problemas recientemente ha sido ps en Solaris (10), corta los caracteres noveno +, por lo que, por ejemplo, si necesita buscar el nombre de usuario, no coincidiría.

$ sudo -u longusername ps -fu longusername
     UID   PID  PPID   C    STIME TTY         TIME CMD
longuser 14012 11985   0 09:58:39 pts/2       0:00 ps -fu longusername

Si hace un ls -l en un directorio con archivos que pertenecen a ese usuario, las columnas se desalinean.

$ ls -ld /export/home/l*
drwxr-xr-x   2 lauser   users        6 Mar 23 10:21 /export/home/lzuser
drwxr-xr-x   2 longusername users        6 May  4 10:02 /export/home/longusername
drwxr-xr-x   2 lzuser   users        6 Mar 12 11:21 /export/home/lzuser

Básicamente, debe tener cuidado con cualquier herramienta que se ocupe de nombres de inicio de sesión y no solo con UID. Eso podría incluir cosas que leen o escriben en archivos de registro o bases de datos, o utilizan la salida de herramientas como last, who, finger, ls, ps, etc.

Un rápido Google apareció en esta página:

http://fixunix.com/sun/113647-username-lenght-more-then-8-characters.html

Lo que agrega algunas razones más.

Con respecto a las mejores prácticas para la creación de nombres de usuario, también puede haber complicaciones al usar inicios de sesión en mayúsculas en lugar de minúsculas, por lo que también debe evitarse.

Cuando algunos sistemas (más antiguos), cuando ven un inicio de sesión solo en mayúsculas, de manera útil por defecto asumen que el terminal del usuario no admite minúsculas, por lo tanto, configure TODO para que esté en mayúsculas (lo que puede evitar ingresar la contraseña y poder escribir ¡Comandos de Unix una vez que inicies sesión!)

Editar (16/04/2019):

Acabo de notar en RHEL 7.5, que la salida de ps tampoco funciona bien:

$ ps -fulongusername
UID        PID  PPID  C STIME TTY          TIME CMD
longuse+  1230 27243  0 Apr13 pts/0    00:00:00 vim somescript.sh
longuse+  1701 27243  0 Apr05 pts/0    00:00:00 vim another-script.sh
longuse+  3116 27243  0 Apr12 pts/0    00:00:01 vim test_script.sh

Trunca el nombre de usuario con un '+', lo que no es útil si no está familiarizado con el usuario que será y significa que no puede confiar en la salida de ps, por ejemplo, como entrada a un script que necesita saber quién Posee un proceso.

JohnGH
fuente