是ssh abc@servername
从不同ssh Abc@servername
?用户名的大小写在Unix中重要吗?
我的用户通过LDAP进行身份验证。
是ssh abc@servername
从不同ssh Abc@servername
?用户名的大小写在Unix中重要吗?
我的用户通过LDAP进行身份验证。
Answers:
就像主机名和域名一样,用户名严格来说不是Unix,而是可以并且确实可以覆盖更广泛的OS类型。
然后,是否将它们视为区分大小写取决于用于指定它们的标准。
主机名和域名对于DNS标准显然不区分大小写(请参阅RFC4343)。
存储在本地后端(/ etc / passwd)或Unix样式(NIS)上的用户名不受POSIX标准区分大小写。
存储在LDAP或Active Directory后端中的用户名将遵循使用的属性架构定义,uid
并且cn
经常存储的用户名具有不同的架构属性,前者不区分大小写,而后者则区分大小写。这意味着根据ldap服务器配置,两者Abc
和abc
可能不匹配abc
。
由于这种不一致,我建议仅对用户名和主机/域名使用小写字母,然后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时,要视情况而定。我已经看到用户名区分大小写(在连接到LDAP的ZFS设备上)的情况,以及用户名无关紧要的情况,例如连接到Windows AD的Solaris LDAP客户端。
您应该/可以尝试通过发出来查看系统是否正确使用了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上看到了这一点。
由于长期以来一直习惯只在用户名中使用小写字符,因此可以合理地预期系统上的其他工具(某些我们可能没有想到的工具)也可能会假定用户名应为小写,并进行检查,转换等。从而破坏了该用户的利益。
cd
是不一样的CD
......只有这样,才能真正使他们的意思是相同的是设置别名,在你的.bashrc
文件..