linux

su 와 su - 의 차이 그리고 sudo

wefree 2023. 12. 5. 19:38

su 와 su - 의 차이

  • su 는 현재 유저의 환경 변수를 유지한 상태로 USER 변경
  • su - 는 현재 유저의 환경 변수를 유지하지 않고, 변경할 USER 의 환경 변수로 세팅해 USER 변경

su 예제

windbird@AL01929730:~$ whoami
windbird
windbird@AL01929730:~$ export TEST=1
windbird@AL01929730:~$ echo $TEST
1
windbird@AL01929730:~$ su guest
Password:
$ whoami
guest
$ echo $TEST
1
$

 

su - 예제

windbird@AL01929730:~$ whoami
windbird
windbird@AL01929730:~$ export TEST=1
windbird@AL01929730:~$ echo $TEST
1
windbird@AL01929730:~$ su - guest
Password:
$ echo $TEST

$

 

 

sudo  예

# 특정 USER 로 command 실행하기
sudo -u root echo "Hi"

# root user 환경을 보존하면서 전환하기
sudo su -