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

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

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 sudoPATH와 기타 세션 및 환경 변수에는 미묘한 부분이 많고 기본적으로 또는 특정 스위치를 통해 변경되거나 변경되지 않을 수 있기 때문입니다.

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

관련 정보