Centos Linux 시스템의 루트가 아닌 .bash_profile 계정에 sudo su 이후 PS1을 변경하기 위한 스크립트가 설정되어 있지만 sudo su가 실제로 새 세션을 생성하므로 스크립트가 중지되고 PS1은 동일하게 유지됩니다. 내 .bash_profile이 이를 변경하라고 말하고 있지만 여기에는 문제가 없습니다. 하지만 sudo su 후에 명령을 실행할 수 있는 방법이 있습니까(내 경우에는 PS1 변경)? 스크립트를 .bashrc에도 넣어봤는데 마찬가지입니다.
답변1
제 생각에는 스태킹은 혼란을 sudo
야기합니다 su
.
나에게 관련 파일의 올바른 PATH 및 기타 설정을 설정하는 것을 포함하여 루트에 대한 올바른 환경을 만드는 가장 안정적인 방법은 다음 /root/
과 같습니다 .sudo -i
매뉴얼 페이지를 읽어보십시오.man su
그리고man sudo
PATH와 기타 세션 및 환경 변수에는 미묘한 부분이 많고 기본적으로 또는 특정 스위치를 통해 변경되거나 변경되지 않을 수 있기 때문입니다.
su -
예 su
를 들어 sudo는 /etc/sudoers
특정 환경 변수를 억제하도록 구성되는 경우가 많습니다.
이 테이블(및 전체 기사) 언뜻 보면 비슷해 보이는 명령에 몇 가지 차이점이 있습니다.
corrupted by user's
HOME=/root uses root's PATH env vars
sudo -i Y Y[2] N
sudo -s N Y[2] Y
sudo bash N Y[2] Y
sudo su Y N[1] Y
[1] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
probably set by /etc/environment
[2] PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin