ユーザーの.bashrcを/root/.bashrcにコピーするのは安全ですか?

ユーザーの.bashrcを/root/.bashrcにコピーするのは安全ですか?

私はDebianを使用しています。デフォルト値は/root/.bashrc少し空です。だからrootとしてログインすると、sudo -i正しく設定されていないものがたくさんあります。通常私は次のことを行います。

$ sudo -i
# mv .bashrc .bashrc.bak
# ln -s /home/user/.bashrc . # or cp /home/user/.bashrc .

注:これはカスタム変更なしで/home/user/.bashrcDebianで生成されたデフォルト値です。useradd

今、私はこれが安全であることを明確にしたいと思います。ルート用に別の.bashrcファイルを作成するにはあまりにも怠惰です。

答え1

これにより、ルートアカウントを自分の「ユーザー」アカウントと同じように安全にすることができます。これは、お客様のアカウントに対するブラウザベースのトロイの木馬やその他の成功した攻撃も、暗黙的にルートアクセスを取得できることを意味します。

これはあなたに受け入れられますか?

それ以外の場合は、ファイルをシンボリックリンクしないでください。内容が予想される内容であることを確認してからコピーしてください。

答え2

私はこれがDebianだけでなく、少なくとも2つの理由で一般的に悪い考えだと思います。

まず、ユーザーの.bashrcをコピーすることに加えて、〜/.bash_aliasesなどと呼ばれる他のすべてのファイルもコピーする必要があることに注意してください。そうしないと、いくつかのエラーと未定義の動作リスクが発生する可能性があります。たとえば、何らかの理由で.bashrcに次のコンテンツがある場合、またはそのコンテンツのソースであるスクリプトの1つがある場合はどうなりますか?

. FILE2

echo "$var1"
echo rm -fr "$var1"/*

ルートが ~/.bashrc を実行し、FILE2 がない場合は、ファイルシステム全体の削除を開始します。

第二に、非常に危険なので、rootで長すぎる作業をしないでください。そして、現在のインタラクティブサブシェルから、自分がrootであるか一般ユーザーであるかをすぐに知ることができるはずです。最も一般的な方法は、最後を変更することです。#ルートとして実行するときのプロンプト文字の表示 したがって、少なくともPS1ルートとルートではない.bashrcの設定は異なる必要があります。

答え3

したがって、rootユーザーと一般ユーザーのための.bashrcは1つだけです。
(rootアカウントの場合)これは安全ですか?
~/.bashrc を調べて、ルートに害を及ぼす可能性のあるコードがあるかどうかを確認してください。もしそうなら、このコードを例にまとめると、一般ユーザーに適用されますif [ "$(id -u)" -ne 0 ]; then ...
その後、同じ操作を逆にします。ソース/root/.bashrcにrootに設定する必要があるが、一般ユーザーに設定する必要がある項目がある場合は、このコードをコピーして引用符で囲みます[ "$(id -u)" -eq 0 ]

これにより、すべてのエントリに合った.bashrcを持つことができます。

関連情報