私はDebianを使用しています。デフォルト値は/root/.bashrc
少し空です。だからrootとしてログインすると、sudo -i
正しく設定されていないものがたくさんあります。通常私は次のことを行います。
$ sudo -i
# mv .bashrc .bashrc.bak
# ln -s /home/user/.bashrc . # or cp /home/user/.bashrc .
注:これはカスタム変更なしで/home/user/.bashrc
Debianで生成されたデフォルト値です。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を持つことができます。