sudo su를 사용한 후 사용자 정의 PS1 활성화

sudo su를 사용한 후 사용자 정의 PS1 활성화

sudo su 이후 PS1을 변경하기 위해 Centos Linux 시스템의 루트가 아닌 .bash_profile 계정에 스크립트를 설정했지만 sudo su가 실제로 새 세션을 만들기 때문에 스크립트는 물론 중지되고 PS1은 .bash_profile 사실에도 불구하고 동일하게 유지됩니다. 여기서는 아무 문제가 없지만 sudo su 후에 명령을 실행하는 방법(제 경우에는 PS1을 변경하는 방법)이 있습니까? 나는 스크립트를 .bashrc에도 넣으려고 했습니다.

답변1

제 생각에는 쌓이고 엉망이 됩니다 sudo.su

나에게 있어 올바른 PATH 설정과 관련 파일의 기타 설정을 포함하여 루트에 대한 올바른 환경을 만드는 가장 안정적인 방법은 다음과 같습니다 /root/.sudo -i

매뉴얼 페이지를 읽어보십시오.man su그리고man sudoPATH, 기타 세션 및 환경 변수가 기본값으로 또는 특정 스위치에 의해 변경되거나 변경되지 않는 미묘한 문제가 있기 때문입니다.

예를 들어 일반적으로 sudo가 특정 환경 변수를 억제하도록 구성된다는 사실 su -과 의 차이점에 유의하세요 .su/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

관련 정보