Linux에서 OS 계정을 생성하고 비밀번호를 정확히 입력했는데 다음과 같은 장애가 발생한다. (su: Permission denied)
ssh root@172.3.1.2 #root 접속 성공
adduser test
passwd 123
su - test #su 전환 실패
su: Permission denied
여러가지 방법을 시도해봤는데, 해결방법은 다음과 같았다.
다른계정으로 접속할때나, su test 등 접속할때 다음과 같은 프로세스를 가진다.
기본적으로 su 명령어나, 다른 계정으로 접속할때 잠시 root 권한을 가지게 된다.
이 권한으로 /etc/shadows에 저장되어 있는 계정의 비밀번호화 대치를 해본다.
하지만 shadows의 권한을 읽고 해석하려면 /usr/bin/su의 권한이 4755를 가지고 있어야 한다.
4755의 권한을 가지고 있지 않으면 로그인이 안된다.
해결방법
root로 접근 (혹은 ec2-user)
ls -al /usr/bin/su #권한이 4755인지 확인
chmod 4755 /usr/bin/su #권한 변경
이후에는 정상적으로 작동된다.