Quiero crear cuentas de usuario con el nombre de un nombre de dominio. adduser se queja de que los nombres de usuario deben coincidir con la NAME_REGEX
expresión regular.
adduser: Please enter a username matching the regular expression configured
via the NAME_REGEX configuration variable. Use the `--force-badname'
option to relax this check or reconfigure NAME_REGEX.
Puedo agregar usuarios usando useradd sin quejas. ¿Hay alguna razón que no debería modificar la expresión regular para permitir .
, -
y _
?
¿Qué caracteres causarán problemas y no deberían permitirse en los nombres de usuario?
Este es el valor predeterminado NAME_REGEX
.
NAME_REGEX="^[a-z][-a-z0-9]*\$"
linux
user-accounts
Ed Haber
fuente
fuente
NAME_REGEX
ya acepta-
siempre y cuando no sea el primer personaje..
? Considere un usuario llamado.
o..
. Entonces,rm
ese usuario llamado..
.rm
que no es el comando que se debe usar al eliminar un usuario. Estoy de acuerdo en..
que no es un nombre razonable por razones similares, perorm
no es uno de esos.Respuestas:
Mi consejo es que sigas el estándar recomendado por el NAME_REGEX predeterminado. En realidad, puede poner casi cualquier cosa en un nombre de usuario bajo * NIX, pero puede encontrar problemas extraños con el código de la biblioteca que hace suposiciones. Caso en punto:
http://blog.endpoint.com/2008/08/on-valid-unix-usernames-and-ones-sanity.html
Mi pregunta para usted: ¿tiene muchos nombres de dominio que colisionarían entre sí si eliminara la puntuación inusual? Por ejemplo, ¿tiene tanto "QUALITY-ASSURANCE" como QUALITYASSURANCE "como nombres de dominio? De lo contrario, podría simplemente adoptar una política de eliminar los caracteres inusuales y usar lo que queda como nombre de usuario.
Además, puede usar la sección "nombre real" del campo GECOS en la información / etc / passwd para almacenar el nombre de dominio original, no modificado, y los scripts pueden extraerlo con bastante facilidad.
fuente
Más específicamente, el estándar POSIX ("Interfaz de sistema operativo portátil para Unix") (IEEE Standard 1003.1 2008) establece :
3.431 Nombre de usuario
3.278 Juego de caracteres de nombre de archivo portátil
Cualquier nombre de usuario que cumpla con este estándar es compatible con POSIX y debe ser seguro.
fuente
ALL UPPERCASE CHARACTERS
.)Del NAME_REGEX se puede deducir que todo, menos de a a z en mayúsculas y minúsculas, y el número de 0 a 9 sería malo.
fuente
-
también se acepta (solo que no como el primer carácter). También tenga en cuenta que, por defecto, no se acepta mayúscula (no hayg
bandera, ni seA-Z
incluye en laNAME_REGEX
expresión regular proporcionada por el OP.NAME_REGEX="^[a-z][-a-z0-9]*\$"