본문 바로가기

리눅스

sudo su 명령어와 sudo su - 명령어 차이점

728x90

sudo su 명령어와 sudo su - 명령어 차이점

sudo susudo su -는 둘 다 다른 사용자의 권한으로 명령을 실행할 수 있는 Linux 명령어입니다. 하지만 이 두 명령어는 실행 시에 다른 환경을 설정합니다.

 

명령어 환경 유지 쉘 복사
sudo su 유지 X
sudo su - X 복사

 

  • sudo su : 현재 사용자를 대상으로 su 명령어를 실행합니다. 이는 현재 사용자의 환경을 변경하지 않고 다른 사용자의 권한으로 명령어를 실행합니다. 예를 들어 현재 사용자가 user1이고 sudo su를 실행하여 root 계정으로 전환하면 root 권한으로 명령을 실행하지만 여전히 현재 사용자의 환경(즉 환경 변수, 작업 디렉토리 등)은 그대로 유지됩니다.
  • sudo su - : - 옵션을 추가하여 실행하면 새로운 셸을 시작하며 다른 사용자로 전환할 때 새로운 사용자의 환경으로 전환합니다. 이는 새로운 사용자의 로그인 셸을 시작하고 그 사용자의 홈 디렉토리에서 시작하며 그 사용자의 환경 변수와 기타 환경 설정도 사용합니다. 이를 통해 현재 사용자의 환경에서 새로운 사용자의 환경으로 전환할 수 있습니다. 예를 들어 sudo su -를 실행하여 root 계정으로 전환하면 새로운 셸이 시작되며 root 사용자의 로그인 셸이 시작되며 root 사용자의 홈 디렉토리에서 시작합니다.

즉, sudo su현재 사용자의 환경에서 다른 사용자의 권한을 얻는 것이며, sudo su -새로운 사용자의 환경으로 전환하여 작업을 시작하는 것입니다.

 

  • 현재 쉘의 환경을 유지한 채로 슈퍼유저 권한으로 전환
sudo su
  • 슈퍼유저의 환경을 완전히 복사하여 새로운 쉘을 생성
sudo su -

 

728x90

'리눅스' 카테고리의 다른 글

mail 명령어  (0) 2023.03.31
ARM(CPU) 아키텍처에서 Zulu JDK 17을 설치하는 방법  (0) 2023.03.30
whereis 명령어와 which 명령어 차이점  (0) 2023.03.30
[리눅스] whereis 명령어  (0) 2023.03.30
which 명령어  (0) 2023.03.30