본문 바로가기
LINUX

sudo su 와 su의 차이점

by Rainbound-IT 2025. 1. 3.
반응형

 

sudo su -와 su -는 둘 다 사용자를 변경하거나 루트 사용자로 전환하는 데 사용됩니다. 그러나 작동 방식과 권한 관리 방식에서 중요한 차이가 있습니다. 아래는 두 명령의 차이점을 정리한 것입니다:


1. su -

  • 설명: 현재 사용자에서 다른 사용자로 전환하거나, 아무 사용자도 명시하지 않으면 기본적으로 루트 사용자로 전환합니다.
  • 권한:
    • 현재 사용자의 권한으로 실행되며, 전환 대상 사용자의 암호를 요구합니다.
    • 예를 들어, su -는 루트 비밀번호를 직접 입력해야 루트 전환이 가능합니다.
  • 환경:
    • 대상 사용자의 전체 로그인 셸 환경을 로드합니다.
    • /etc/profile, ~/.bashrc, ~/.bash_profile 등이 적용됩니다.

2. sudo su -

  • 설명: sudo를 통해 권한 상승을 먼저 수행한 후 su - 명령을 실행합니다.
  • 권한:
    • sudo는 실행할 명령의 권한을 상승시키므로, 현재 사용자 비밀번호를 입력하면 됩니다.
    • 단, sudo는 해당 사용자가 sudoers 파일에 정의된 권한을 가지고 있어야 작동합니다.
  • 환경:
    • 이후 실행된 su -는 루트 사용자의 전체 환경을 로드합니다.

주요 차이점

특징 su -  sudo su -
사용자 인증 방식 전환 대상 사용자의 암호를 요구 현재 사용자의 암호를 요구
권한 관리 전환 대상 사용자의 권한 사용 sudo를 통해 권한 상승 후 실행
환경 로드 대상 사용자의 로그인 환경을 로드 동일
로그 기록 별도의 로그에 기록되지 않음 /var/log/secure 또는 /var/log/auth.log에 기록
보안 관점 루트 암호를 알아야 실행 가능 특정 사용자만 sudo로 실행 가능

보안 및 사용 권장

  1. 보안 관점:
    • sudo는 루트 비밀번호를 공유할 필요가 없으므로 보안에 더 안전합니다.
    • sudo su -는 권한 상승이 로그로 기록되므로 추적이 가능합니다.
  2. 추천:
    • sudo 사용이 권장됩니다. 이는 관리자가 특정 사용자만 권한 상승을 허용하고 이를 모니터링할 수 있기 때문입니다.

정리

  • su -: 루트 비밀번호를 알아야 하며, 전환 대상 사용자의 환경을 로드합니다.
  • sudo su -: sudo를 통해 권한을 먼저 상승한 후 동일한 환경을 로드합니다.
    보안성과 관리 측면에서 sudo su -가 더 선호됩니다.
반응형

댓글