![내 sudo PATH가 일반 사용자 PATH와 다른 이유는 무엇입니까? [복사]](https://linux55.com/image/120970/%EB%82%B4%20sudo%20PATH%EA%B0%80%20%EC%9D%BC%EB%B0%98%20%EC%82%AC%EC%9A%A9%EC%9E%90%20PATH%EC%99%80%20%EB%8B%A4%EB%A5%B8%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
내 길에 문제가 있습니다. 깨끗한 Amazon Linux 가상 서버 인스턴스가 있고 /etc/profile에 설정했습니다.
M3_HOME=/usr/local/maven
JAVA_HOME=/usr/java/latest
PATH="$PATH:$M3_HOME/bin:$JAVA_HOME/bin"
내 myuser(내 사용자) 계정에서 ~/.bash_profile에 설정했습니다.
PATH=$PATH:$HOME/bin
그런 다음 사용자로 "env"를 출력하면 다음과 같은 결과가 나타납니다.
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/maven/bin:/usr/java/latest/bin:/home/myuser/bin
하지만 sudo로 출력하면
sudo env
PATH=/sbin:/bin:/usr/sbin:/usr/bin
sudo 사용자가 일반 사용자와 동일한 경로를 사용하도록 만드는 방법은 무엇입니까?
답변1
sudo를 하면 다른 환경을 가진 다른 사용자인 루트로 승격되기 때문입니다.
--preserve-env 옵션을 사용하여 동일한 환경 변수를 유지할 수 있습니다.
이것은 sudo의 매뉴얼 페이지에서 직접 가져온 것이며 내 Linux 상자의 bash에서 확인됩니다. 다음은 동일한 출력을 제공합니다
env | grep PATH
sudo --preserve-env=PATH env | grep PATH
매뉴얼 페이지를 확인하십시오.