별칭과 함께 sudo su 주입

별칭과 함께 sudo su 주입

sudo로 루트 프로필로 전환할 때 별칭을 삽입하는 방법이 있는지 궁금합니다.

제가 염두에 두고 있는 것은 다음과 같습니다.

sshLogin@linuxVM /home/sshLoginUser/> sudo su -x "alias goHome='cd /home/sshLoginUser/'"
root@linuxVM /home/OtherDir/> goHome
root@linuxVM /home/sshLoginUser/>

일부 작업을 설정하고 실행하기 위해 클라우드의 VM 상자를 사용하고 있으며, 결국 반복적인 작업을 위해 더 많은 별칭을 추가하고 싶습니다.

이상적으로 는 별칭과 함수 모음이 포함된 파일을 만들고 sudo su싶습니다 .source

답변1

sudo쉘 확장을 수행하지 않는다는 것을 이해하는 것이 중요합니다 . 명령을 실행합니다. 원하는 작업에 대해 두 가지 솔루션이 있을 수 있으며 각각 고유한 장점/단점이 있습니다.

1 alias hop='sudo id': sudo별칭의 일부로 두거나

2 sudo -s(명령 없음), 대화형 셸을 시작하고 /root/.bashrc.

답변2

[tom@alarm ~]$ sudo -i
[root@alarm ~]# tail -n 1 .bashrc
alias goHome="cd /home/$SUDO_USER"
[root@alarm ~]# goHome
[root@alarm tom]# pwd
/home/tom
[root@alarm tom]#

"내장" 환경 변수가 귀하의 사례에 충분하지 않은 경우 sudo가 일부 사용자 정의 환경 변수를 보존하도록 할 수도 있습니다. 예를 들어:

CERTAINFILE="/home/$USER/different_name" sudo -i --preserve-env=CERTAINFILE

관련 정보