[Linux] SU command 패스워드 없이 사용하기
![]() |
SU Command를 패스워드 없이 사용할 수 있도록 하는 방법에 대해 알아보겠습니다.
root(슈퍼유저) 권한을 획득하는데 sudo 또는 su command를 사용할 수 있습니다. sudo 명령어는 패스워드 없이 자주 사용이 되고 있지만 su command도 패스워드 없이 사용한다는 건 생소할 수 있습니다. 결과를 미리 알려드리면 su 명령어도 패스워드 없이 사용이 가능합니다. sudo 명령어를 패스워드 없이 사용하는 게 궁금하신 분들은 sudo 명령어 를 참고하시면 됩니다.
테스트 환경
다음과 같은 OS 버전에서 동작을 확인하였습니다.
-
RHEL 6
-
RHEL 7
-
RHEL 8
-
RHEL 9
목표
일반 사용자가 root 패스워드를 알지 못하더라도 su
명령어를 통해 root 권한을 얻을 수 있도록 설정하는 방법을 설명합니다. 이 기능은 매우 강력한 권한 상승 수단이므로, 반드시 신뢰할 수 있는 사용자에게만 적용해야 합니다.
SU command 패스워드 없이 사용하도록 설정
RHEL 시스템에서는 해당 기능이 이미 기본적으로 제공되며, 설정을 활성화하는 것만으로 사용이 가능합니다. 이 방법은 시스템에 존재하는 wheel
그룹을 활용합니다.
/etc/pam.d/su
파일에는 아래와 같은 라인이 기본적으로 주석 처리되어 있습니다. 이 설정은 wheel
그룹에 속한 사용자가 su
명령어를 패스워드 없이 사용할 수 있도록 허용합니다.
#auth sufficient pam_wheel.so trust use_uid
위 라인의 주석을 해제하여 기능을 활성화하고, su
명령어를 사용할 사용자를 wheel
그룹에 추가합니다.
1) /etc/pam.d/su 파일에서 주석 해제
# vi /etc/pam.d/su
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
auth sufficient pam_wheel.so trust use_uid ## 주석 해제
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth substack system-auth
# usermod -aG wheel suser
SU 명령어 패스워드 없이 실행 확인
설정 후, 해당 사용자가 wheel
그룹에 정상적으로 포함되어 있는지 확인합니다.
[suser@bastion ~]$ id uid=1004(suser) gid=1004(suser) groups=1004(suser),10(wheel)
이제 su -
명령어를 실행하면 root 패스워드 없이 바로 전환이 가능한 것을 확인할 수 있습니다.
[suser@bastion ~]$ su -
[root@bastion ~]#
위 결과에서 알 수 있듯이, root 패스워드를 입력하지 않아도 곧바로 root 권한을 획득할 수 있습니다.
댓글
댓글 쓰기