危険! root権限
仕事で使っている開発用アプリケーションサーバを破壊しかけた。 破壊・焦り・復旧の一連の時間の流れが静寂の中で過ぎていったため、誰も気付いてはいないだろうが。 幸い、自分の手で起こしたサーバだったので、直そうと思えばいくらでも直せるのだが、スケジュール的にカツカツなので、一番苦労したアプリケーションサーバに今ここで死なれるのは非常に困る。
そもそも、なぜそのような事態に陥ったのか? 最大の原因は「root権限」を甘く見ていたことにある。 その時私は、システムのディレクトリ構成を視覚的に確認するために、root権限でXを立ち上げてツリーを表示していた。 インターフェースはWindowsのエクスプローラと変わらない。 だが、エクスプローラと比べて、「ディレクトリ展開」と「ディレクトリ移動」が紙一重だなという印象があった。 現に、何度もディレクトリを展開しようとして誤って移動しかけたことがある。
そして、とうとうやってしまった。 いつものようにディレクトリを展開しようとしたその時、手元が狂って「どこかのディレクトリ」を「どこかのディレクトリ」へ放り込んでしまった。 何をどこへやってしまったのかがわからない。 もしかしたら気のせいだったのかもしれない。 作業を続けてみて、もし問題が起こったら、その時対処しようと考えた。 で、作業を続けようと思った瞬間、いきなり問題発生! 症状は「何もできない」である。 幸い、エラーメッセージによって、いなくなったディレクトリを特定できた。 それを元の場所に戻せば治るはず? が、何もできないんだよな、このPC。 仕方がないのでtelnetで遠隔操作。
治った。 危なかった。 rootは怖いと思った。 Windowsならば、システムディレクトリをどうにかしようと思ってもどうにもできない。 それは、システムがそれを保護しているからである。 NT系の管理者権限でもそれは同じ。 NT系の場合、管理者権限よりも上位に“SYSTEM”というOS自体を表す予約されたユーザが存在し、システムディレクトリはそのユーザが所有している。 なので、管理者権限を持っていてもシステムディレクトリだけはどうすることもできない。 対してUNIX系の場合の最高権限は“root”である。 システムディレクトリをどうするもこうするもroot次第である。 話しに聞く所によると、システム全体を消すようなコマンド(Windows的にはドライブに対して“削除”)を打てば本当に消えてくれるらしい。 それだけ強力なのである。 以前から、rootでのオペレーションは危険という話しは聞いていたのだが、サーバ絡みの開発はrootでないと何かと不便。 とはいえ、まさかrootがこんなに危険な存在だったとは・・・