!["su -"와 "su"에 대한 몇 가지 혼란스러운 점 [중복]](https://linux55.com/image/82788/%22su%20-%22%EC%99%80%20%22su%22%EC%97%90%20%EB%8C%80%ED%95%9C%20%EB%AA%87%20%EA%B0%80%EC%A7%80%20%ED%98%BC%EB%9E%80%EC%8A%A4%EB%9F%AC%EC%9A%B4%20%EC%A0%90%20%5B%EC%A4%91%EB%B3%B5%5D.png)
저는 Linux 명령줄에서 작업하고 있습니다. 그런데 제가 읽고 있는 책에는 su -l(-) username
새로운 셸 세션을 시작하고 변경하려는 사용자의 환경을 로드한다고 나와 있는데 su
그렇지 않습니다.
저는 root일 때 명령을 입력했으므로 su testuser
testuser였습니다. 그런데 그 이후에 를 입력했는데 echo "$USER"
이라고 하더군요 testuser
. 이는 테스트 사용자의 환경을 로드한다는 의미입니다. 그렇죠? 뭐가 문제 야?
"새 쉘 세션 시작"이란 정확히 무엇을 의미합니까? 쉘에 로그인 및 로그아웃 메커니즘이 있습니까?
답변1
수루트 권한을 제공하지만 PATH 변수와 현재 작업 디렉터리는 변경되지 않습니다. 따라서 /usr/sbin 폴더에 있는 파일은 실행할 수 없습니다.
수-PATH도 변경됩니다. 루트의 홈이 현재 작업 디렉터리가 됩니다. 당신은 제대로 루트가 되어 모든 명령을 실행할 수 있습니다.