서버에서 sudo env | grep PATH
및 명령을 실행하면 sudo -s env | grep PATH
처음 두 명령은 동일한 결과를 표시합니다.sudo -i env | grep PATH
그러나 마지막 항목은 sudo -i env | grep PATH
다른 PATH 값을 보여줍니다.
sudo
, sudo -s
및 sudo -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.