通常Linuxでは、シングルユーザモードで起動した場合、rootのパスワードなしでコンソールモードに入れる。
しかし、Debianの場合はシングルユーザもrootのパスワードを聞かれる。そんじゃぁ、rootのパスワードを忘れたらどうすればいいんだろう?もっとも、「シングルユーザモード=rootパスワードなし(みなさんそう思ってるのと違いますか?)」と言う決まり文句は有るはずもない。
では、シングルユーザモードとはどのようなものか?早く言えば、マルチユーザモードの反対の意味を表す。自分のみしか運用できないモードであるため、カーネルのアップグレード等のシステムのメンテナンス時に使用するモードと覚えておく方が正しいと思う。したがって、「シングルユーザモードはrootのパスワードを聞かれない。」と思ってる人は考えを変えた方がよい(笑)。
rootのパスワードを忘れたときの対処
1.rootのメンテナンスモードに入る
# boot : Linux single init=/bin/sh
この状態では、パーティションが書き込みmodeになっていない。
mountオプションで書き込みモードにする。
/etc/fstab の中身をviewして/パーティションのHDDデバイス名を確認する。
# mount -n -o remount,rw -t ext2 /dev/hda1 /
# cd /etc
# vi shadow
root:$1123Q2py2$ryfhodaoH21ZVJVPvKdHZ/:12722:0:99999:7:::
省略
■色の部分を消去。
root::12722:0:99999:7:::
な感じにして保存。
2.LILOでのシングルモードログイン
再起動する。
boot: Linux 1
orboot: Linux sor
boot: Linux single
とか、いずれかでシングルユーザモードに入る。
rootのパスワードなし(Enter)でコマンドモードに入れればOK!
3.GRUBでのシングルモードログイン
1)grubのブートメニューが表示される
表示されたら、すかさず「e」を押す(エディットモード)。
2)grubのエディットモードに移行
kernelの記述にカーソルを合わせ、「e」を押す。一行編集モードに移行する。
3)一行編集モードに移行する
一番右の文字の後にカーソルを合わせ、スペースを入れる。その後に、linux 1もしくはlinux sを書いてリターン。その後に、「b」を押すとブートする。これで終わり。
尚、メンテナンスモードに入るには、Linux single init=/bin/sh を書けばよい。
3.パスワード再設定
シングルユーザモードに入ったら、
# passwd root
でパスワードを再設定する。
rootのパスワードのみ消して保存
以上
コメント