"sudo env"와 "sudo -i env"는 다른 결과를 표시합니다.

"sudo env"와 "sudo -i env"는 다른 결과를 표시합니다.

서버에서 sudo env | grep PATH및 명령을 실행하면 sudo -s env | grep PATH처음 두 명령은 동일한 결과를 표시합니다.sudo -i env | grep PATH

그러나 마지막 항목은 sudo -i env | grep PATH다른 PATH 값을 보여줍니다.

sudo, sudo -ssudo -i명령이 동일한 PATH 변수를 갖는 이유는 무엇입니까 ?

CentOS 7.8을 사용하고 있습니다.

모든 의견, 링크에 감사드립니다!

답변1

sudo명령으로 인해 발생할 수 있습니다 . 변수를 어떻게 확장/정의하나요 path? 로컬 사용자에게 .profile? 방금 입력한 경우 sudo -i루트 sudo -s가 되므로 다음과 같이 사용 합니다 .profile.man sudo

-i, --login: Run the shell specified by the target user's password database entry as a login shell. This means that login-specific resource files such as .profile, .bash_profile or .login will be read by the shell.
-s, --shell: Run the shell specified by the SHELL environment variable if it is set or the shell specified by the invoking user's password database entry.

관련 정보