È ssh abc@servername
diverso da ssh Abc@servername
? Il caso del nome utente è importante in Unix?
Il mio utente esegue l'autenticazione tramite LDAP.
È ssh abc@servername
diverso da ssh Abc@servername
? Il caso del nome utente è importante in Unix?
Il mio utente esegue l'autenticazione tramite LDAP.
Risposte:
Proprio come i nomi host e i nomi di dominio, il nome utente non è strettamente una cosa Unix ma può e spesso abbraccia una gamma più ampia di tipi di sistemi operativi.
Se saranno considerati case sensitive dipende quindi dallo standard usato per specificarli.
Nomi host e nomi di dominio sono chiaramente insensibili alle maiuscole e minuscole dallo standard DNS (vedi RFC4343 ).
I nomi utente memorizzati su un backend locale (/ etc / passwd) o uno di tipo Unix (NIS) non fanno distinzione tra maiuscole e minuscole secondo lo standard POSIX .
I nomi utente archiviati in un LDAP o in un back-end di Active Directory seguiranno la definizione dello schema di attributo utilizzato uid
e cn
che spesso memorizzano il nome utente hanno attributi dello schema diversi, senza distinzione tra maiuscole e minuscole per il primo ma sensibili al maiuscolo / minuscolo per il secondo. Ciò significa che entrambi Abc
e abc
potrebbe corrispondere o meno abc
la voce 's seconda della configurazione del server LDAP.
A causa di questa incoerenza, consiglierei di utilizzare solo lettere minuscole sia per i nomi utente che per il nome host / dominio e quindi evitare ssh ABC@SERVERNAME.DOMAIN.COM
che sia comunque scortese.
Sì, fa distinzione tra maiuscole e minuscole. Non sono in grado di fornire informazioni tecniche, l'ho appena testato e mi chiedo perché non l'hai fatto (?)
la mia macchina locale è Linux Mint come puoi vedere:
# 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 ho provato a connettermi al server CentOS in questo modo:
· Utilizzo del nome utente maiuscolo (errato):
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:
· Utilizzo del nome utente corretto:
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 ~]#
Nel caso di account locali, il nome utente fa distinzione tra maiuscole e minuscole. Quando si utilizza LDAP, dipende. Ho visto casi in cui il nome utente fa distinzione tra maiuscole e minuscole (su un'appliance ZFS connessa a LDAP) e casi in cui non importa come il client LDAP Solaris collegato a Windows AD.
Quello che dovresti / potresti provare è vedere se il tuo sistema sta usando correttamente LDAP emettendo getent passwd <username>
. L'uso di questo comando dovrebbe fornire un record con nome utente, home directory e shell per l'utente specificato. Se non vedi tale record, LDAP non è configurato correttamente.
Esistono diversi luoghi in cui è necessario configurare LDAP e uno dei luoghi è:
/etc/nsswitch.conf
passwd: files ldap
group: files ldap
È inoltre necessario verificare se PAM è configurato correttamente e forse il passaggio più importante è verificare se il client LDAP è configurato e funzionante. Prova uno strumento come ldapsearch
verificare se LDAP può essere interrogato.
Sono disponibili diversi libri di cucina LDAP e la maggior parte dipende dalla versione Unix e dalla versione LDAP in uso. Aggiorna la tua domanda con quei dettagli se hai bisogno di ulteriore assistenza. Includi anche la tua configurazione (senza password ovviamente) che può aiutare i membri del forum ad analizzare il tuo particolare problema.
I nomi utente Unix fanno sicuramente distinzione tra maiuscole e minuscole e, inoltre, l'uso di nomi utente con caratteri maiuscoli sui sistemi Unix può produrre risultati indesiderati, quindi generalmente dovrebbe essere evitato.
Alcuni esempi sono:
Può interrompere la posta elettronica per l'utente. Gli standard per SMTP consentono agli indirizzi e-mail di non distinguere tra maiuscole e minuscole e, per impostazione predefinita, l'MTA che riceve il messaggio piegherà l'indirizzo e-mail in minuscolo per trovare l'utente a cui consegnare. Se il nome utente ha caratteri maiuscoli, non verrà risolto senza speciali sostituzioni di configurazione per soddisfare questo. (ciò riguarda gli MTA come sendmail, postfix ecc. e anche gli agenti di elaborazione delle consegne come procmail)
Molti dei primi terminali hardware non sono stati sensibili al maiuscolo / minuscolo. Era comune che usassero solo lettere maiuscole. Quando si accede ad alcune versioni di Unix, l'avvio di un nome di accesso con un carattere maiuscolo attiverà il sistema presupponendo che si sta utilizzando un terminale solo maiuscolo antico e consentirà la piegatura delle maiuscole, che converte tutte le lettere maiuscole immesse in minuscole ( devi quindi sfuggire ai caratteri maiuscoli per dire che sono in maiuscolo) per aiutarti a inserire il tuo nome utente che si aspetta sarà in minuscolo. Non credo che questo sia qualcosa su Linux, ma l'ho visto dimostrato su HP-UX.
Poiché è stata a lungo la convenzione di utilizzare solo caratteri minuscoli nei nomi utente, è ragionevole aspettarsi che altri strumenti (alcuni dei quali potremmo non aver pensato) sul sistema possano anche supporre che il nome utente debba essere minuscolo e fare controlli, conversioni ecc. di conseguenza, rompendo così le cose per quell'utente.
I nomi utente fanno sicuramente distinzione tra maiuscole e minuscole. Puoi testarlo facilmente aggiungendo due utenti con nomi simili:
~ # useradd foobar
~ # useradd fooBar
~ # grep ^foo /etc/passwd
foobar:x:1001:1001::/home/foobar:/bin/sh
fooBar:x:1002:1002::/home/fooBar:/bin/sh
Questa domanda / risposta mostra come compensare qualcuno che sta tentando di accedere con un nome utente che ha il caso "sbagliato" in base ai server LDAP. Ma nota che funzionerà solo se i nomi utente sono tutti elencati in minuscolo (o puoi renderli tutti in maiuscolo se lo desideri).
cd
non è lo stesso diCD
... L'unico modo per farli davvero significare lo stesso è impostare gli alias nel tuo.bashrc
file ..