본문 바로가기
개발/리눅스

su: Authentication failure

by leedonggeun 2023. 12. 8.

문제점

[common-user@master ~]$ su - 
Password: 
su: Authentication failure

일반 사용자에서 su 명령어를 이용해 root 권한을 획득하려 했다.

1. 비밀번호는 설정되어있었고,
2. 정확하게 입력했는데도 권한을 획득하지 못했다.

 

원인 파악

어쨋든 sudo 명령어를 수행할 수 있는 사용자가 있어서 일단 root 계정으로 접근할 수 있었고, 이에 대한 원인을 파악할 수 있었다.

원인은 /bin/su 파일의 권한이 rwsr-xr-x가 아니였다.

여기서 s 권한은 setuid로, user권한의 x 자리를 대신해 들어간다. 이 권한은 해당 파일 소유자의 권한을 빌려 사용할 수 있도록 하는 권한이다.

[root@master ~]# ll /bin/su
-rwxr-xr-x 1 root root 50160 Aug 11 01:25 /bin/su

 

조치하기

/bin/su 파일의 권한을 정상적으로 재설정하여 해결했다.

# 변경 전 권한 확인
[root@ncp-cm-db-master ~]# ll /bin/su
-rwxr-xr-x 1 root root 50160 Aug 11 01:25 /bin/su

# 권한 변경
[root@ncp-cm-db-master ~]# chmod 4755 /bin/su

# 변경된 권한 확인
[root@ncp-cm-db-master ~]# ll /bin/su
-rwsr-xr-x 1 root root 50160 Aug 11 01:25 /bin/su

 

확인하기

[common-user@master ~]$ su - 
Password: 
Last login: Fri Dec  8 13:24:54 KST 2023 on pts/11
[root@master ~]#

궁금한점은..

운영 중에 sudo 권한이 있는 사용자가 없고, root 계정으로 다이렉트로 들어가지 못할 경우는 어떻게 할 수 있을지 궁금하다.
서버를 다시 설치할 수도 없고...

'개발 > 리눅스' 카테고리의 다른 글

리눅스의 useradd 명령어에 대해 알아보자  (0) 2022.11.25
리눅스 시스템의 파일 권한  (0) 2022.11.06

댓글