¿El nombre de usuario en Unix distingue entre mayúsculas y minúsculas?

20

Es ssh abc@servernamediferente de ssh Abc@servername? ¿Importa el caso del nombre de usuario en Unix?

Mi usuario se autentica a través de LDAP.

saga saga
fuente
3
Casi todo en Linux distingue entre mayúsculas y minúsculas. Significado: cdno es lo mismo que CD... La única forma de hacer que realmente signifiquen lo mismo es establecer alias en su .bashrcarchivo ..
ryekayo
1
Supongo que eso depende del atributo LDAP que use para el nombre de usuario. Si es uid del RFC 4519 , entonces no distingue entre mayúsculas y minúsculas, pero las implementaciones de autenticación aún pueden imponerle importancia a las mayúsculas y minúsculas. También depende de cómo se realiza exactamente la autenticación con LDAP.
Stéphane Chazelas
1
Simplemente tratar de iniciar sesión con su nombre de usuario en mayúscula le habría respondido esto en cuestión de segundos.
Lightness compite con Monica el

Respuestas:

14

Al igual que los nombres de host y los nombres de dominio, el nombre de usuario no es estrictamente un tema de Unix, pero puede abarcar una amplia gama de tipos de sistemas operativos.

Si se considerarán sensibles a mayúsculas y minúsculas depende del estándar utilizado para especificarlas.

Los nombres de host y los nombres de dominio no distinguen entre mayúsculas y minúsculas según el estándar DNS (consulte RFC4343 ).

Los nombres de usuario almacenados en un backend local (/ etc / passwd) o uno de estilo Unix (NIS) no distinguen entre mayúsculas y minúsculas según el estándar POSIX .

Los nombres de usuario almacenados en un servidor LDAP o en un servidor de Active Directory seguirán la definición del esquema de atributo utilizado, uidy cnque a menudo almacenan el nombre de usuario tienen atributos de esquema diferentes, sin distinción entre mayúsculas y minúsculas para el primero pero sensibles a mayúsculas y minúsculas para el segundo. Eso significa ambos Abcy abcpuede coincidir o no con abcla entrada, dependiendo de la configuración del servidor ldap.

Debido a esta inconsistencia, recomendaría usar solo minúsculas tanto para los nombres de usuario como para el nombre de host / dominio y luego evitar ssh [email protected]que sea grosero de todos modos.

jlliagre
fuente
1
Entonces, la forma en que leo el estándar POSIX , ya que no se especifica como sensible a mayúsculas o minúsculas y el conjunto completo de caracteres de nombre de archivo portátil está disponible (que incluye mayúsculas y minúsculas), dependería de la implementación. ¿Es eso correcto? Dicho esto, ¿hay una convención estándar?
Doug R.
1
@DougR. En lo que respecta a POSIX, los nombres de usuario dependen de las mayúsculas y minúsculas. La insensibilidad a las mayúsculas y minúsculas se habría especificado La distinción entre mayúsculas y minúsculas está implícita cuando se hace referencia al juego de caracteres portátil de nombre de archivo.
jlliagre
Gracias por la aclaración. Esa fue mi suposición inicial, pero no pude encontrar nada con respecto al conjunto de caracteres de nombre de archivo portátil que estableciera esto de una manera u otra.
Doug R.
5

Sí, distingue mayúsculas de minúsculas. No puedo aportar información técnica, lo acabo de probar y me pregunto por qué no lo hiciste (?)

mi máquina local es linux mint como puedes ver:

# cat /etc/*release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.2
DISTRIB_CODENAME=rafaela
DISTRIB_DESCRIPTION="Linux Mint 17.2 Rafaela"
NAME="Ubuntu"
VERSION="14.04.3 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.3 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
cat: /etc/upstream-release: Is a directory

e intenté conectarme al servidor CentOS de esta manera:

· Uso de un nombre de usuario en mayúscula (incorrecto):

8D prova # ssh Root@agora-server
Root@agora-server's password: 
Permission denied, please try again.
Root@agora-server's password: 
Permission denied, please try again.
Root@agora-server's password: 

· Uso del nombre de usuario correcto:

8D prova # ssh root@agora-server
root@agora-server's password: 
Last login: Fri Oct  2 01:50:13 2015 from 192.168.0.31
[root@agora-server ~]# 
lese
fuente
Como un problema secundario, no es una buena práctica, por lo que respecta a la seguridad, permitir el inicio de sesión SSH como root como se hizo aquí (particularmente si la máquina tiene conexión a Internet). en el sshd_config. Es preferible iniciar sesión como usuario normal y luego usar sudo o su para convertirse en root solo cuando sea necesario.
JohnGH
Sí, eso es correcto, estoy de acuerdo, primero porque es un superusuario y, en segundo lugar, el nombre de usuario 'root' es conocido por el atacante, que solo tiene que recuperar la contraseña. De todos modos, esto es solo una máquina virtual que se ejecuta localmente, no expuesta a los internos Una buena práctica es utilizar RSA certificados ssh al inicio de sesión, o / más ssh puerto abierto sólo para las solicitudes procedentes de las direcciones permitidas (reglas de firewall)
lesa
3

En el caso de cuentas locales, el nombre de usuario distingue entre mayúsculas y minúsculas. Cuando usa LDAP, depende. He visto casos en los que el nombre de usuario distingue entre mayúsculas y minúsculas (en un dispositivo ZFS conectado a LDAP) y casos en los que no importa, como el cliente LDAP de Solaris conectado a Windows AD.

Lo que debería / podría intentar es ver si su sistema está utilizando LDAP correctamente emitiendo getent passwd <username>. El uso de este comando debería proporcionarle un registro con el nombre de usuario, el directorio de inicio y el shell del usuario especificado. Si no ve dicho registro, LDAP no está configurado correctamente.

Hay varios lugares donde debe configurar LDAP y uno de los lugares es:

/etc/nsswitch.conf

passwd: files ldap
group:  files ldap

También debe verificar si PAM está configurado correctamente y tal vez el paso más importante es verificar si el cliente LDAP está configurado y funcionando. Pruebe una herramienta como ldapsearchpara verificar si se puede consultar LDAP.

Hay varios libros de cocina LDAP disponibles y la mayoría de ellos dependen de la versión Unix y la versión LDAP que esté utilizando. Actualice su pregunta con esos detalles si necesita más ayuda. También incluya su configuración de configuración (sin contraseñas, por supuesto) que puede ayudar a los miembros del foro a analizar su problema particular.

Lambert
fuente
1

Los nombres de usuario de Unix definitivamente distinguen entre mayúsculas y minúsculas, y lo que es más, el uso de nombres de usuario con caracteres en mayúscula en los sistemas Unix puede producir resultados no deseados, por lo que generalmente se debe evitar.

Algunos ejemplos son:

Puede romper el correo electrónico para el usuario. Los estándares para SMTP permiten que las direcciones de correo electrónico no distingan entre mayúsculas y minúsculas, y de manera predeterminada, el MTA que recibe el mensaje doblará la dirección de correo electrónico a minúsculas para encontrar al usuario a quien entregar. Si el nombre de usuario tiene caracteres en mayúscula, no se resolverá sin anulaciones especiales de configuración para atender esto. (esto afecta a los MTA como sendmail, postfix, etc. y también a los agentes de procesamiento de entrega como procmail)

Muchos de los primeros terminales de hardware no eran sensibles a mayúsculas y minúsculas. Era común que solo usaran mayúsculas. Al iniciar sesión en algunas versiones de Unix, al iniciar un nombre de inicio de sesión con un carácter en mayúscula, el sistema asumirá que está utilizando un terminal antiguo solo en mayúscula y habilitará el plegado de mayúsculas y minúsculas, lo que convierte todas las mayúsculas ingresadas en minúsculas ( luego debe escapar los caracteres en mayúscula para decir que están en mayúscula) para ayudarlo a ingresar su nombre de usuario, que se espera que esté en minúsculas. No creo que esto sea algo en Linux, pero lo he visto demostrado en HP-UX.

Como ha sido durante mucho tiempo la convención de usar solo caracteres en minúscula en los nombres de usuario, es razonable esperar que otras herramientas (algunas que no hayamos pensado) en el sistema también puedan suponer que el nombre de usuario debe estar en minúsculas y hacer comprobaciones, conversiones, etc. en consecuencia, rompiendo cosas para ese usuario.

JohnGH
fuente
0

Los nombres de usuario son definitivamente sensibles a mayúsculas y minúsculas. Puede probar esto fácilmente agregando dos usuarios con nombres similares:

~ # useradd foobar
~ # useradd fooBar
~ # grep ^foo /etc/passwd
foobar:x:1001:1001::/home/foobar:/bin/sh
fooBar:x:1002:1002::/home/fooBar:/bin/sh

Esta pregunta / respuesta muestra cómo compensar a alguien que intenta iniciar sesión con un nombre de usuario que tiene el caso "incorrecto" de acuerdo con los servidores LDAP. Pero tenga en cuenta que esto solo funcionará si todos los nombres de usuario aparecen en minúscula (o puede ponerlos en mayúscula si lo desea).

Falsenames
fuente