昨日、Fedora Core6のメンテナンスのために、サフィックスがrpmnewのファイルを交換していました。そのファイルの中に、なぜか/etc/passwdも含まれていました。ちょっと考えればわかるんですがよく確認せずに修正したので、ログインできない状態になってしまいました。
そんなわけで、rootでもシングルユーザモードでもログインできない状態でどうやって/etc/passwdを修正するかという状況に陥ったわけです。修復までかなり苦労しました。もう絶対/etc/passwdは自分で編集しないようにします。
さて、その修復方法ですが、Fedora Coreでは開発元であるFedora Projectのウェブサイトで、OSのイメージファイル以外にもレスキューCDイメージも配布しています。それをCDに焼いて、PCで起動させます。すると、CDブートのOSのような形でPCを利用することができます。レスキューCDでは、HDDにインストールされているOSのファイルを/mnt/sysimageにマウントしています。ここから、ファイルを編集することができます。修復したいファイルが/etc/passwdなら、/mnt/sysimage/etc/passwdを編集すればいいでしょう。(ちなみに、修復中に/etc/passwdにアクセスすると、rootしかないpasswdファイルが現れます。これはレスキューCDのpasswdファイルです。)
ちなみに、knoppixでもできないか試してみましたが、ディレクトリ構造が見えない状態でした。これはなぜそうなるのかはよく分かりません。あと、このレスキューCDは、OSが一致していれば使えるようなので、強力な修復ツールとして使える分、管理にはとても気を使わないといけないなと思いました。
参考にしたWebページは以下のとおりです。
[web] Fedora CoreのレスキューCDを使うには
(2/21 追記)実は、レスキューCDを作成しなくてもランレベル1で走らせればいけるという話。GRUBのカーネル選択時に「e」「↓」「e」「 」「1」「Enter」「b」。まるでコナミコマンド。
Comments [2]
ぜんさん
/etc/passwdがどう壊れたのか分かりませんが、ランレベル1で起動したら、パスワード入力なしにrootでログインした状態になるのではないでしょうか?ここでviなどを使って/etc/passwdを修復すれば良いと思います。
GRUBのカーネル選択画面で「e」「↓」「e」「 」「1」「Enter」「b」を入力すれば、ランレベル1で起動するはずです。
tetsuさん
そうなのですか!?そんなふうに入力したらOKだなんて初めて
知りました。もうちょっとよく調べておくべきですよね。。。
試せる機会は少ない方がいいと思いますが、また変なことに
なったら試してみます。
コメントする