Отличается ssh abc@servername
от ssh Abc@servername
? Имеет ли значение имя пользователя в Unix?
Мой пользователь аутентифицируется через LDAP.
Отличается ssh abc@servername
от ssh Abc@servername
? Имеет ли значение имя пользователя в Unix?
Мой пользователь аутентифицируется через LDAP.
Ответы:
Как и имена хостов и доменные имена, имя пользователя не является строго Unix-объектом, но может охватывать и часто охватывает более широкий диапазон типов ОС.
Будут ли они считаться чувствительными к регистру, зависит от стандарта, используемого для их определения.
Имена хостов и доменные имена явно нечувствительны к регистру по стандарту DNS (см. RFC4343 ).
Имена пользователей, хранящиеся в локальном бэкэнде (/ etc / passwd) или в стиле Unix (NIS), не учитывают регистр в стандарте POSIX .
Имена пользователей, хранящиеся в LDAP или бэкенде Active Directory, будут соответствовать определению используемой схемы атрибутов, uid
и cn
часто хранящие имя пользователя имеют разные атрибуты схемы, нечувствительные к регистру для первого, но чувствительные к регистру для второго. Это означает , как Abc
и abc
может соответствовать или не abc
записи «s в зависимости от конфигурации сервера LDAP.
Из-за этого несоответствия я бы рекомендовал использовать строчные буквы как для имен пользователей, так и для имени хоста / домена, а затем избегать ssh ABC@SERVERNAME.DOMAIN.COM
грубых действий.
Да, это чувствительно к регистру. Я не могу предоставить техническую информацию, я только что проверил ее, и мне интересно, почему вы не (?)
моя локальная машина Linux Mint, как вы можете видеть:
# 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
и я попытался подключиться к серверу CentOS следующим образом:
· Использование (неправильного) имени пользователя в верхнем регистре:
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:
· Используя правильное имя пользователя:
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 ~]#
В случае локальных учетных записей имя пользователя чувствительно к регистру. Когда вы используете LDAP, это зависит. Я видел случаи, когда имя пользователя чувствительно к регистру (на устройстве ZFS, подключенном к LDAP), и случаи, когда это не имеет значения, например, клиент Solaris LDAP, подключенный к Windows AD.
То, что вы должны / могли бы попробовать, это проверить, правильно ли ваша система использует LDAP, выполнив команду getent passwd <username>
. Использование этой команды должно дать вам запись с именем пользователя, домашним каталогом и оболочкой для указанного пользователя. Если вы не видите такой записи, LDAP настроен неправильно.
Есть несколько мест, где вы должны настроить LDAP, и одно из мест:
/etc/nsswitch.conf
passwd: files ldap
group: files ldap
Вам также необходимо проверить, правильно ли настроен PAM, и, возможно, наиболее важным шагом является проверка того, настроен ли клиент LDAP и работает ли он. Попробуйте инструмент, например, ldapsearch
чтобы проверить, можно ли запрашивать LDAP.
Доступно несколько кулинарных книг LDAP, и большинство из них зависит от версии Unix и используемой вами версии LDAP. Обновите свой вопрос с этими деталями, если вам нужна дополнительная помощь. Также включите настройки вашей конфигурации (конечно, без паролей), которые могут помочь участникам форума проанализировать вашу конкретную проблему.
Имена пользователей Unix определенно чувствительны к регистру, и, более того, использование имен пользователей с заглавными буквами в системах Unix может привести к нежелательным результатам, поэтому их вообще следует избегать.
Вот некоторые примеры:
Это может сломать электронную почту для пользователя. Стандарты для SMTP разрешают адреса электронной почты без учета регистра, и по умолчанию MTA, получающий сообщение, свернет адрес электронной почты в нижний регистр, чтобы найти пользователя для доставки. Если имя пользователя имеет заглавные буквы, оно не будет разрешено без специальных переопределений конфигурации, чтобы удовлетворить это. (это влияет на MTA, такие как sendmail, postfix и т. д., а также на агентов обработки доставки, таких как procmail)
Многие ранние аппаратные терминалы не были чувствительны к регистру. Было распространено, что они использовали только заглавные буквы. При входе в некоторые версии Unix запуск имени для входа с заглавной буквы заставит систему предположить, что вы используете древний терминал только с прописными буквами, и включит сворачивание регистра - который преобразует все введенные вами заглавные буквы в строчные ( Затем вы должны экранировать символы в верхнем регистре, чтобы сказать, что они в верхнем регистре), чтобы помочь вам ввести ваше имя пользователя, которое, как он ожидает, будет в нижнем регистре. Я не верю, что это вещь в Linux, но я видел, как это продемонстрировано в HP-UX.
Поскольку уже давно принято использовать только строчные символы в именах пользователей, разумно ожидать, что другие инструменты (о которых мы, возможно, и не думали) в системе могут также предполагать, что имя пользователя должно быть строчными, и выполнять проверки, преобразования и т. Д. соответственно, таким образом ломая вещи для этого пользователя.
Имена пользователей определенно чувствительны к регистру. Вы можете легко проверить это, добавив двух пользователей с похожими именами:
~ # useradd foobar
~ # useradd fooBar
~ # grep ^foo /etc/passwd
foobar:x:1001:1001::/home/foobar:/bin/sh
fooBar:x:1002:1002::/home/fooBar:/bin/sh
Этот вопрос / ответ показывает, как компенсировать кому-то, пытающемуся войти в систему с именем пользователя, которое имеет «неправильный» регистр в соответствии с серверами LDAP. Но обратите внимание, что это будет работать только в том случае, если все имена пользователей указаны в нижнем регистре (или вы можете сделать их все в верхнем регистре, если хотите).
cd
это не то же самое, чтоCD
... Единственный способ действительно заставить их означать одно и то же - это установить псевдонимы в вашем.bashrc
файле ..