エイリアスを使用した 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。おそらく、やりたいことに対して 2 つの解決策があり、それぞれに長所と短所があります。

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

関連情報