Ist ssh abc@servername
anders ssh Abc@servername
? Ist der Fall des Benutzernamens in Unix von Bedeutung?
Mein Benutzer authentifiziert sich über LDAP.
Ist ssh abc@servername
anders ssh Abc@servername
? Ist der Fall des Benutzernamens in Unix von Bedeutung?
Mein Benutzer authentifiziert sich über LDAP.
Antworten:
Genau wie Hostnamen und Domainnamen ist der Benutzername keine reine Unix-Sache, sondern kann und wird häufig einen größeren Bereich von Betriebssystemtypen abdecken.
Ob bei ihnen zwischen Groß- und Kleinschreibung unterschieden wird, hängt von der Norm ab, nach der sie angegeben wurden.
Hostnamen und Domainnamen unterscheiden nach dem DNS-Standard eindeutig zwischen Groß- und Kleinschreibung (siehe RFC4343 ).
Benutzernamen, die auf einem lokalen Backend (/ etc / passwd) oder einem Unix-Style (NIS) gespeichert sind, werden vom POSIX-Standard nicht zwischen Groß- und Kleinschreibung unterschieden .
Benutzernamen, die in einem LDAP- oder Active Directory-Backend gespeichert sind, folgen der verwendeten Attributschemadefinition uid
und cn
haben häufig unterschiedliche Schemaattribute, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird, bei letzteren jedoch die Groß- und Kleinschreibung. Das bedeutet beides Abc
und abc
kann abc
je nach Konfiguration des LDAP-Servers mit dem Eintrag übereinstimmen oder auch nicht .
Aufgrund dieser Inkonsistenz würde ich empfehlen, sowohl für Benutzernamen als auch für Host- / Domainnamen nur Kleinbuchstaben zu verwenden und dann zu vermeiden, ssh ABC@SERVERNAME.DOMAIN.COM
was sowieso unhöflich ist.
Ja, es wird zwischen Groß- und Kleinschreibung unterschieden. Ich kann keine technischen Informationen mitbringen, habe sie nur getestet und mich gefragt, warum Sie es nicht getan haben (?)
Meine lokale Maschine ist Linux Mint, wie Sie sehen können:
# 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
und ich habe versucht, eine Verbindung zum CentOS-Server wie folgt herzustellen:
· Verwenden eines (falschen) Benutzernamens in Großbuchstaben:
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:
· Verwenden des richtigen Benutzernamens:
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 ~]#
Bei lokalen Konten unterscheidet der Benutzername zwischen Groß- und Kleinschreibung. Wenn Sie LDAP verwenden, hängt es davon ab. Ich habe Fälle gesehen, in denen der Benutzername zwischen Groß- und Kleinschreibung unterscheidet (auf einer mit LDAP verbundenen ZFS-Appliance) und Fälle, in denen dies nicht wichtig ist, wie bei einem mit Windows AD verbundenen Solaris LDAP-Client.
Was Sie versuchen sollten / könnten, ist zu sehen, ob Ihr System LDAP korrekt verwendet, indem Sie ausgeben getent passwd <username>
. Wenn Sie diesen Befehl verwenden, sollten Sie einen Datensatz mit dem Benutzernamen, dem Ausgangsverzeichnis und der Shell für den angegebenen Benutzer erhalten. Wenn Sie einen solchen Datensatz nicht sehen, ist LDAP nicht richtig konfiguriert.
Es gibt verschiedene Orte, an denen Sie LDAP konfigurieren sollten, und einer der Orte ist:
/etc/nsswitch.conf
passwd: files ldap
group: files ldap
Sie müssen auch überprüfen, ob PAM richtig konfiguriert ist. Der wichtigste Schritt ist möglicherweise, zu überprüfen, ob der LDAP-Client konfiguriert ist und funktioniert. Probieren Sie ein Tool aus ldapsearch
, um zu überprüfen, ob LDAP abgefragt werden kann.
Es sind mehrere LDAP-Kochbücher verfügbar. Die meisten davon hängen von der von Ihnen verwendeten Unix- und LDAP-Version ab. Aktualisieren Sie Ihre Frage mit diesen Details, wenn Sie weitere Unterstützung benötigen. Fügen Sie auch Ihr Konfigurationssetup hinzu (natürlich ohne Passwörter), das Forummitgliedern dabei helfen kann, Ihr spezielles Problem zu analysieren.
Unix-Benutzernamen unterscheiden auf jeden Fall zwischen Groß- und Kleinschreibung. Außerdem kann die Verwendung von Benutzernamen mit Großbuchstaben auf Unix-Systemen zu unerwünschten Ergebnissen führen und sollte daher generell vermieden werden.
Einige Beispiele sind:
Es kann E-Mails für den Benutzer beschädigen. Die Standards für SMTP ermöglichen, dass bei E-Mail-Adressen die Groß- und Kleinschreibung nicht beachtet wird. Standardmäßig wird die E-Mail-Adresse vom MTA, der die Nachricht empfängt, in Kleinbuchstaben umgewandelt, um den Benutzer zu finden, an den die Nachricht zugestellt werden soll. Wenn der Benutzername aus Großbuchstaben besteht, wird er nicht ohne spezielle Konfigurationsüberschreibungen aufgelöst, um dies zu berücksichtigen. (Dies betrifft MTAs wie sendmail, postfix usw. und auch Zustellungsbearbeitungsagenten wie procmail.)
Bei vielen frühen Hardware-Terminals wurde die Groß- und Kleinschreibung nicht berücksichtigt. Es war üblich, dass sie nur Großbuchstaben verwendeten. Wenn Sie sich bei einigen Versionen von Unix anmelden und einen Anmeldenamen mit einem Großbuchstaben beginnen, geht das System davon aus, dass Sie ein Terminal verwenden, das nur Großbuchstaben verwendet, und aktiviert das Falzen von Großbuchstaben, wodurch alle von Ihnen eingegebenen Großbuchstaben in Kleinbuchstaben umgewandelt werden ( Sie müssen dann die Großbuchstaben maskieren, um sie als Großbuchstaben zu kennzeichnen, damit Sie Ihren Benutzernamen eingeben können, von dem erwartet wird, dass er in Kleinbuchstaben geschrieben wird. Ich glaube nicht, dass dies unter Linux eine Sache ist, aber ich habe es unter HP-UX demonstriert gesehen.
Da es seit langem üblich ist, in Benutzernamen nur Kleinbuchstaben zu verwenden, ist zu erwarten, dass andere Tools (an die wir vielleicht nicht gedacht haben) auf dem System auch davon ausgehen, dass der Benutzername in Kleinbuchstaben geschrieben sein sollte, und Überprüfungen, Konvertierungen usw dementsprechend brechen die Dinge für diesen Benutzer.
Die Benutzernamen unterscheiden auf jeden Fall zwischen Groß- und Kleinschreibung. Sie können dies einfach testen, indem Sie zwei Benutzer mit ähnlichen Namen hinzufügen:
~ # useradd foobar
~ # useradd fooBar
~ # grep ^foo /etc/passwd
foobar:x:1001:1001::/home/foobar:/bin/sh
fooBar:x:1002:1002::/home/fooBar:/bin/sh
Diese Frage / Antwort zeigt, wie Sie jemanden, der versucht, sich mit einem Benutzernamen anzumelden, der den LDAP-Servern zufolge den "falschen" Fall aufweist, entschädigen können. Beachten Sie jedoch, dass dies nur funktioniert, wenn die Benutzernamen alle als Kleinbuchstaben aufgeführt sind (oder wenn Sie möchten, können Sie sie in Großbuchstaben umwandeln).
cd
ist nicht dasselbe wieCD
... Die einzige Möglichkeit, sie.bashrc