ssh abc@servername
와 다른 가요 ssh Abc@servername
? 유닉스에서 사용자 이름의 경우가 중요합니까?
내 사용자는 LDAP를 통해 인증합니다.
ssh abc@servername
와 다른 가요 ssh Abc@servername
? 유닉스에서 사용자 이름의 경우가 중요합니까?
내 사용자는 LDAP를 통해 인증합니다.
답변:
호스트 이름 및 도메인 이름과 마찬가지로 사용자 이름은 엄격하게 유닉스가 아니지만 더 넓은 범위의 OS 유형에 걸쳐있을 수 있습니다.
대소 문자를 구분할지 여부는 지정하는 데 사용되는 표준에 따라 다릅니다.
호스트 이름과 도메인 이름은 DNS 표준에 따라 대소 문자를 구분하지 않습니다 ( RFC4343 참조 ).
로컬 백엔드 (/ etc / passwd) 또는 Unix 스타일 (NIS)에 저장된 사용자 이름 은 POSIX 표준에서 대소 문자를 구분하지 않습니다 .
는 LDAP 또는 Active Directory의 백엔드에 저장된 사용자 이름이 사용 된 속성 스키마 정의를 따를 것, uid
그리고 cn
어떤 종종 후자에 대한 전하지만, 대소 문자를 구별를 들어, 사용자 이름이 서로 다른 스키마 속성을 가질 경우를 구분 저장된다. 그 말 모두 Abc
와 abc
일치하거나하지 않을 수 있습니다 abc
LDAP 서버 구성에 따라의 항목을.
이러한 불일치로 인해 사용자 이름과 호스트 / 도메인 이름 모두에 소문자 만 사용하고 ssh ABC@SERVERNAME.DOMAIN.COM
무례한 것을 피하는 것이 좋습니다 .
예, 대소 문자를 구분합니다. 기술 정보를 가져올 수 없습니다. 방금 테스트 한 결과 왜 그렇게하지 않았는지 궁금합니다 (?).
내 로컬 머신은 리눅스 민트입니다.
# 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에 따라 다릅니다. 사용자 이름이 대소 문자를 구분하는 경우 (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 쿡북이 있으며 대부분 유닉스 버전과 사용중인 LDAP 버전에 따라 다릅니다. 추가 지원이 필요한 경우 세부 정보로 질문을 업데이트하십시오. 또한 포럼 구성원이 특정 문제를 분석하는 데 도움이되는 구성 설정 (암호 없음)도 포함하십시오.
유닉스 사용자 이름은 대소 문자를 구분하며, 유닉스 시스템에서 대문자로 된 사용자 이름을 사용하면 원하지 않는 결과가 발생할 수 있으므로 일반적으로 피해야합니다.
몇 가지 예는 다음과 같습니다.
사용자의 이메일을 차단할 수 있습니다. SMTP 표준에 따라 이메일 주소는 대소 문자를 구분하지 않으며 기본적으로 메시지를 수신하는 MTA는 이메일 주소를 소문자로 접어 사용자가 전달할 수 있도록합니다. 사용자 이름에 대문자가 있으면 특별한 구성 재정의가 없으면 해결되지 않습니다. (이는 sendmail, postfix 등과 같은 MTA 및 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
파일 에서 별칭을 설정하는 것입니다 .