문제점
[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 |
댓글