次のいずれかのコマンドを実行して誰かにいたずらをするつもりです。
echo bash >> .bashrc
または
echo source .bashrc >> .bashrc
誰かがあなたにこのようなことをしたら、それを修正するために何ができますか? (コマンドラインアクセスのみが可能であると仮定する場合)他のユーザーに編集を依頼すること以外にできることはありますかsudo
?
答え1
権限が安全に設定されていない限り、他のユーザーのシェル起動ファイルを編集することはできません。自分も知らずに、または同意なしに(ホームディレクトリ内のすべてのファイルに適用可能)、これを行うことは非倫理的なものと見なされ、システムに適用される行動規則によって違反と見なされる可能性があります。
システム権限があり、sudo
この「いたずら」を考えるとsudo
このシステムに対する権限がないはずです。。
最初のコマンドはbash
最後にコマンドとして追加されます.bashrc
。これが.bashrc
ユーザーのホームディレクトリにあり、ユーザーがuserのbash
場合、終了するかリソース制限に直面するまでインタラクティブシェルを開始する無限再帰ループが発生します(該当するシェルセッションが開始されると)。
2番目のコマンドは同様のループを生成しますが、コードはbash
単一のプロセス環境でのみ実行されます。これは、終了するまで、または一部の環境変数(たとえばPATH
、各反復でスクリプトが追加された場合)が大きすぎてリソース制限に達するまで続きます。
マルチユーザーシステムでは、共有リソース(主にCPUとメモリ)が消費されるため、これらの「いたずら」はすべて他のユーザーに影響を与える可能性があります。
上記の操作中にファイルを編集、変更、保存するとループは停止しますが、影響を受けるユーザーのプロセスが終了するまでリソースは解放されません.bashrc
。bash
緊急修正でpkill -U username bash
ルートまたはpkill bash
影響を受けたユーザーを使用してこれを停止できます。これにより、bash
影響を受けたユーザーのすべてのプロセスが終了します。