初めてコンピューターに Linux をインストールしたとき、私はいつも root を使うようにしていました。rootsudo
権限が必要なコマンドを実行するたびに、パスワードを追加して入力する必要がなかったからです。
ある日、ディレクトリを削除したくて を実行したところrm -rf /
、システムが故障してしまいました。Linux の設計者はなぜこのような危険なコマンドを禁止しなかったのか不思議です。
答え1
なぜ、自分のコンピュータで何でも好きなことをできるようにしてはいけないのでしょうか? としてログインしたりroot
使用したりすることsudo
は、マシンに「自分が何をしているかわかっている」と伝えることです。人々が疑わしいことをするのを防ぐことは、通常、賢いことをするのを防ぐことにもなります。レイモンド・チェンの表現。
さらに、ユーザーがルート ディレクトリを消去できるようにする唯一の正当な理由が 1 つあります。それは、OS とファイル システムを完全に消去してコンピューターを廃止することです。(危険!一部のUEFIシステムではrm -rf /
、物理マシンも壊れる。)また、chroot
刑務所。
どうやら、誤ってコマンドを頻繁に実行したため、安全機能が追加されました。rm -rf /
ほとんどのシステムでは、--no-preserve-root
も指定されない限り何も実行されません。とんでもないそれを入力できます間違って. それはまた、下手だが善意に基づいたシェルスクリプト。
答え2
要約:最も簡単な答えは、「なぜダメなのか?」です。これは単なる機能であり、オペレーティング システムが提供するツールです。自分の責任で使用し、何をしているのかを理解してください。
説明
ユーザとしてルートを使用することは非常に悪い考えだ実行するものはすべて昇格された権限で実行されるため、セキュリティ上の大きな欠陥となります。
たとえば、悪意のあるプログラムをダウンロードした場合や、コンピューターにインストールされているソフトウェアに重大なバグがあった場合、ファイルやハードウェアに壊滅的な損害を与える可能性があります。
sudo
何度も書き込むのが面倒な場合でも、 などのコマンドsudo -i
をしばらく使用してから通常の権限状態に戻ることができます。ただし、ターミナルの使用経験が十分でない限り、これはお勧めしません。
しかし、これはLinuxやその開発者のせいではありません。実際、@DanielBが述べたように、Windowsでもこれが可能あなたにはそれを実行する自由とツールがありますが、だからといってそれをしなければならないというわけではありません。
rm
ルートディレクトリへのアクセスを妨げるパッケージがあります。セーフルーム再度発生するリスクがあると思われる場合は、これが良い選択かもしれません。のパラメータ
などの他の解決策や回避策については、rm
--preserve-root
これサーバー障害に関する質問です。