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 -