와는 다른가요? Unix ssh abc@servername
에서는ssh Abc@servername
내 사용자는 LDAP를 통해 인증됩니다.
답변1
호스트 이름 및 도메인 이름과 마찬가지로 사용자 이름은 엄밀히 말하면 Unix의 것이 아니지만 더 넓은 범위의 운영 체제 유형에 적용될 수 있고 종종 그렇게 됩니다.
대소문자 구분 여부는 이를 지정하는 데 사용되는 표준에 따라 다릅니다.
DNS 표준에 따르면 호스트 이름과 도메인 이름은 대소문자를 구분하지 않습니다(참조:RFC4343).
로컬 백엔드(/etc/passwd) 또는 Unix 스타일 1(NIS)에 저장된 사용자 이름은 대소문자를 구분하지 않습니다.POSIX 표준.
LDAP 또는 Active Directory 백엔드에 저장된 사용자 이름은 사용된 속성 스키마 정의를 따릅니다.uid
그리고cn
일반적으로 다른 스키마 속성을 사용하여 사용자 이름을 저장합니다. 전자는 대소문자를 구분하지 않지만 후자는 대소문자를 구분합니다. 이는 LDAP 서버 구성에 따라 일치하거나 일치하지 않을 수 있는 항목 Abc
을 의미합니다.abc
abc
이러한 불일치로 인해 사용자 이름과 호스트/도메인 이름에는 소문자만 사용하고 무례한 관행을 피하는 것이 좋습니다.ssh [email protected]
답변2
예, 대소문자를 구분합니다. 기술적인 정보는 제공해 드릴 수 없습니다. 방금 테스트해 보았는데 왜 제공하지 않으셨는지 궁금합니다(?)
내 로컬 컴퓨터는 다음과 같이 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 ~]#
답변3
로컬 계정의 경우 사용자 이름은 대소문자를 구분합니다. LDAP를 사용하는 경우에 따라 다릅니다. 사용자 이름이 대소문자를 구분하는 경우(LDAP에 연결된 ZFS 장치)와 Windows AD에 연결된 Solaris LDAP 클라이언트처럼 중요하지 않은 경우도 보았습니다.
당신이 시도해야 할/시도할 수 있는 것은 getent passwd <username>
. 이 명령을 사용하면 지정된 사용자의 사용자 이름, 홈 디렉터리 및 셸이 포함된 레코드가 제공됩니다. 해당 레코드가 표시되지 않으면 LDAP 구성이 잘못된 것입니다.
여러 위치에서 LDAP를 구성해야 하며 그 중 하나는 다음과 같습니다.
/etc/nsswitch.conf
passwd: files ldap
group: files ldap
또한 PAM이 올바르게 구성되었는지 확인해야 하며 아마도 가장 중요한 단계는 LDAP 클라이언트가 구성되어 제대로 작동하는지 확인하는 것입니다. ldapsearch
LDAP를 쿼리할 수 있는지 확인과 같은 도구를 사용해 보세요 .
사용 가능한 LDAP 설명서가 여러 개 있으며 대부분은 사용 중인 Unix 및 LDAP 버전에 따라 다릅니다. 추가 지원이 필요한 경우 이러한 세부정보로 질문을 업데이트하세요. 또한 포럼 회원이 특정 문제를 분석하는 데 도움이 될 수 있는 구성 설정(물론 비밀번호 없음)도 포함되어 있습니다.
답변4
사용자 이름은 대소문자를 완전히 구분합니다. 비슷한 이름을 가진 두 명의 사용자를 추가하여 이를 쉽게 테스트할 수 있습니다.
~ # 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 서버에 따라 대소문자가 "잘못"된 사용자 이름으로 로그인을 시도하는 사용자를 보상하는 방법을 보여줍니다. 그러나 이는 사용자 이름이 모두 소문자로 나열된 경우에만 작동합니다(원하는 경우 모두 대문자로 만들 수 있습니다).