これはどれほど邪悪なのか: echo bash >> .bashrc

これはどれほど邪悪なのか: echo bash >> .bashrc

次のいずれかのコマンドを実行して誰かにいたずらをするつもりです。

echo bash >> .bashrc

または

echo source .bashrc >> .bashrc

誰かがあなたにこのようなことをしたら、それを修正するために何ができますか? (コマンドラインアクセスのみが可能であると仮定する場合)他のユーザーに編集を依頼すること以外にできることはありますかsudo

答え1

権限が安全に設定されていない限り、他のユーザーのシェル起動ファイルを編集することはできません。自分も知らずに、または同意なしに(ホームディレクトリ内のすべてのファイルに適用可能)、これを行うことは非倫理的なものと見なされ、システムに適用される行動規則によって違反と見なされる可能性があります。

システム権限があり、sudoこの「いたずら」を考えるとsudoこのシステムに対する権限がないはずです。

最初のコマンドはbash最後にコマンドとして追加されます.bashrc。これが.bashrcユーザーのホームディレクトリにあり、ユーザーがuserのbash場合、終了するかリソース制限に直面するまでインタラクティブシェルを開始する無限再帰ループが発生します(該当するシェルセッションが開始されると)。

2番目のコマンドは同様のループを生成しますが、コードはbash単一のプロセス環境でのみ実行されます。これは、終了するまで、または一部の環境変数(たとえばPATH、各反復でスクリプトが追加された場合)が大きすぎてリソース制限に達するまで続きます。

マルチユーザーシステムでは、共有リソース(主にCPUとメモリ)が消費されるため、これらの「いたずら」はすべて他のユーザーに影響を与える可能性があります。

上記の操作中にファイルを編集、変更、保存するとループは停止しますが、影響を受けるユーザーのプロセスが終了するまでリソースは解放されません.bashrcbash

緊急修正でpkill -U username bashルートまたはpkill bash影響を受けたユーザーを使用してこれを停止できます。これにより、bash影響を受けたユーザーのすべてのプロセスが終了します。

関連情報