[Linux] SU command 패스워드 없이 사용하기

su command without pw

 

SU Command를 패스워드 없이 사용할 수 있도록 하는 방법에 대해 알아보겠습니다.

root(슈퍼유저) 권한을 획득하는데 sudo 또는 su command를 사용할 수 있습니다. sudo 명령어는 패스워드 없이 자주 사용이 되고 있지만 su command도 패스워드 없이 사용한다는 건 생소할 수 있습니다. 결과를 미리 알려드리면 su 명령어도 패스워드 없이 사용이 가능합니다. sudo 명령어를 패스워드 없이 사용하는 게 궁금하신 분들은 sudo 명령어 를 참고하시면 됩니다.

 

테스트 환경

아래의 OS버전에서 테스트 되었습니다.

  • RHEL [6, 7, 8, 9]

 

목표

일반 유저가 root 패스워드를 몰라도 su command를 사용하여 root 권한을 얻는 방법을 알아봅니다. 이렇게 되면 일반 사용자가 root user의 권한을 자유롭게 획득할 수 있게 되므로 꼭 필요한 사용자에게만 기능을 활성화해야 합니다.

 

SU command 패스워드 없이 사용하도록 설정

시스템에 이미 해당 기능을 사용할 수 있도록 설정되어 있기 때문에 그 기능을 사용할 수 있도록 활성화만 하면 됩니다. 이 방법은 이미 시스템에 만들어져 있는 wheel 그룹을 이용합니다.

“/etc/pam.d/su” 파일에 아래의 라인이 기본적으로 주석 처리되어 있습니다. wheel 그룹에 속한 사용자가 패스워드 없이 su를 사용하게 하기 위한 설정입니다.

#auth            sufficient      pam_wheel.so trust use_uid

따라서 위에서 본 /etc/pam.d/su 파일의 해당 부분을 주석 해제하여 wheel 룹 사용자가 su 명령을 패스워드 없이 사용할 수 있도록 설정합니다. 그다음 su 명령을 사용할 사용자를 wheel 그룹에 포함시킵니다.

  • /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
...
  • 유저에게 wheel 그룹 부여 ( suser는 유저 이름입니다 )
# usermod -aG wheel suser

이제 패스워드 없이 로그인이 가능한지 확인합니다.

[suser@bastion ~]$ id
uid=1004(suser) gid=1004(suser) groups=1004(suser),10(wheel) 
[suser@bastion ~]$ su -
[root@bastion ~]#

위 결과에서 보는 것과 같이 su - 명령을 사용하여도 root 유저의 패스워드를 물어보지 않고 root 권한을 획득하는 걸 보실 수 있습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top