어떤 계정의 비밀번호를 입력하려고 하면 인증에 실패합니다. SSH를 사용하여 AWS EC2 인스턴스에 로그인합니다.
잠시 후 사용자 정보가 저장되어 있는 파일의 권한을 확인해 보니 뭔가 이상한 점을 발견했습니다.
나는 이것이 정상이 아니라고 생각합니다.
$ ls -l /etc/passwd /etc/shadow
결과는 다음과 같습니다.
-rw-r--r-- 1 root root 1402 Oct 7 10:58 /etc/passwd
---------- 1 root root 838 Oct 7 10:58 /etc/shadow
어떤 사용자도 파일을 읽거나 쓸 수 없기 때문에 이것이 문제의 원인일 수 있습니다. 정상적인 출력은 /etc/shadow
다음과 같아야 할 것 같습니다 .
-rw-r----- 1 root root 838 Oct 7 10:58 /etc/shadow
이것이 문제가 될 수 있습니까? 어떻게 해결할 수 있나요?
운영 체제 구성:
NAME="Amazon Linux AMI"
VERSION="2015.09"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2015.09"
PRETTY_NAME="Amazon Linux AMI 2015.09"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2015.09:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
Amazon Linux AMI release 2015.09
답변1
Amazon Linux는 RHEL 복제본이며 RPM을 사용하여 설치된 파일에 대한 권한을 정의합니다. 이 rpm -qf /etc/shadow
명령을 사용하여 소유권을 확인할 수 있습니다. 이는 /etc/shadow
패키지의 일부임을 나타냅니다 setup
. 그런 다음 RPM 데이터베이스를 사용하여 파일의 권한을 쿼리할 수 있습니다. rpmls
이를 수행하는 프로그램이 rpmdevtools 패키지에 있지만 올바른 구문을 알고 있다면 간단한 RPM을 사용하여 수행할 수 있습니다.
$ rpm -q --qf='[%-11{filemodes:perms} %-8{fileusername} %-8{filegroupname} %{filenames}\n]' setup | grep /etc/shadow
---------- root root /etc/shadow
이는 /etc/shadow의 모드가 0000이어야 함을 나타냅니다. 다른 모드로 변경하려고 해서는 안 됩니다. PAM 스택은 섀도우 파일을 완전히 읽을 수 있습니다. 다른 질문이 있으실 겁니다.
답변2
@lese가 말한 것처럼 다음을 시도해 보세요.
chmod 640 /etc/shadow
chown root:shadow /etc/shadow
"작업이 허용되지 않습니다"라는 메시지가 표시되면 다음을 시도해 보세요.
lsattr /etc/shadow
표시되면 ----i--------e-
다시 실행 chattr -i /etc/shadow
하고 chmod를 실행하십시오.
답변3
예, 맞습니다. 귀하의 권한이 /etc/shadow
잘못된 것 같습니다. 그러나 이는 실행 중인 배포에 따라 다릅니다. 이를 명확히 해주세요. 다음에서 찾을 수 있습니다.
# 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
내 배포판(실제로 Linux Mint 17.2 Rafaela)에 따르면 기본 및 올바른 권한은 다음과 같습니다. -rw-r------ 640 root Shadow/etc/shadow
루트 슈퍼 권한으로 다음 명령을 실행하여 문제를 해결할 수 있습니다.
chmod 640 /etc/shadow
chown root:shadow /etc/shadow
답변4
섀도우 구성 문제인 것 같습니다.
shadowconfig on
명령을 시도해 볼 수 있습니다