sudo -s -H およびエイリアス

sudo -s -H およびエイリアス

をよく使うのですsudo -s -Hが、実行後にエイリアスを持たせたいのですがどうすればいいですか?

説明: サーバーに user1 (sudoers 内) としてログインします。このユーザーには次のエイリアスがあります.bash_aliases:

alias rm='rm -i'

今私は実行するsudo -s -H

そして、今はrmエイリアス化されていないので、プロンプトなしでファイルが削除されます。

どうやって変更するのですか?

(-の投稿を見ましたalias sudo='sudo 'が、-のコマンドを実行するだけで動作しますsudo commandが、sudo -s -H

答え1

の下に同じエイリアスを取得する必要があります/root/.bashrc

これには 2 つの方法があります:

  1. /home/user1/.bash_aliasesにコピーして/root/.bash_aliases、以下を追加します/root/.bashrc

    if [[ -f /root/.bash_aliases ]]
    then
      . /root/.bash_aliases
    fi
    
  2. /home/user1/.bash_aliasesファイルのソース/root/.bashrc:

     if [[ -f /home/user1/.bash_aliases ]]
     then
       . /home/user1/.bash_aliases
     fi
    

選択するソリューションは個人の好みによって異なります。私はオプション 2 を使用しています。これは、root に通常のユーザーと同じエイリアスなどを持たせたいためであり、この方法では 1 か所で管理するだけで済みます ( にシンボリックリンクを作成することもできます/home/user1/.bash_aliases/root、効果は同じです)。

オプション 1 を選択した場合は、両方のエイリアスを個別に管理する必要があります。これは、ユースケースに適している場合と適していない場合がありますuser1root

関連情報