본문 바로가기
Linux/Linux공통

SU와 SUDO -I의 차이점

by ccclog 2024. 7. 12.
반응형

 
 

su와 sudo -i는 둘 다 다른 사용자로 전환하여 명령을 실행할 수 있는 리눅스/유닉스 명령어입니다. 하지만 두 명령어 사이에는 몇 가지 중요한 차이점이 있습니다.

su 명령어

  • **superuser switch (su)**의 준말입니다.
  • 사용법: su [옵션] [사용자명]
  • 기본적으로 root 사용자로 전환하기 위해 사용됩니다.
  • 사용자 비밀번호를 요구하여 전환할 대상 사용자의 계정으로 로그인합니다.
  • su 명령어로 전환한 후에는 해당 사용자의 환경 설정 파일 (예: .bashrc, .profile 등)이 로드됩니다.
  • 기본적으로 현재 사용자의 환경 변수나 PATH 등은 유지되지 않습니다.

sudo -i 명령어

  • **superuser do interactive (sudo)**의 옵션 중 하나입니다.
  • 사용법: sudo -i
  • 현재 사용자의 관리자 권한을 사용하여 root 사용자로 전환합니다.
  • 사용자의 비밀번호를 입력한 후 명령을 실행합니다 (해당 사용자가 sudo 권한을 가지고 있어야 합니다).
  • sudo -i 명령어로 전환한 후에는 root 사용자의 환경 설정 파일 (예: /root/.bashrc, /root/.profile 등)이 로드됩니다.
  • 기존 사용자의 환경 변수나 PATH 등을 그대로 유지하면서 root 사용자 권한으로 명령을 실행할 수 있습니다.

주요 차이점 요약

  1. 환경 설정 파일 로드: su는 전환된 사용자의 환경 설정 파일을 로드하고, sudo -i는 root의 환경 설정 파일을 로드합니다.
  2. 권한 요구: su는 전환할 사용자의 비밀번호가 필요하며, sudo -i는 현재 사용자의 비밀번호가 필요합니다 (해당 사용자가 sudo 권한을 가지고 있어야 합니다).
  3. 환경 변수와 PATH: su는 기존 사용자의 환경 변수나 PATH를 유지하지 않고, sudo -i는 기존 사용자의 환경 설정을 그대로 유지합니다.
  4. 사용 용도: su는 장기적으로 root로 전환할 때 주로 사용되며, sudo -i는 일시적으로 root 권한이 필요한 작업을 수행할 때 사용됩니다.

따라서 사용 목적과 환경 설정의 유지 여부에 따라 su와 sudo -i 중 적절한 명령어를 선택하여 사용해야 합니다.

반응형

'Linux > Linux공통' 카테고리의 다른 글

SSH 호스트네임으로 이용하기.  (0) 2025.03.09
SSH란?  (2) 2024.07.22
alias 명령어 예시문  (0) 2024.07.11
find 명령어  (1) 2024.06.13
Disk 임의 제거로 인한 커널 패닉.  (0) 2024.06.10