RedHatのパスワードリセット方法
今回は、インストールするときにキーボードが英語配列になっていたりとかして、実際ログインしようとしたら入れないよ!という場合のパスワードリセット方法をご紹介します。
まずは、Gestのシャットダウンから。。
でもって、電源ONしてブートメニューのところで、eを押します。
GRUBのパラメーター設定の画面が開くので、linix16の行のを→で移動していって末尾のUTF-8あとに続けて、systemd.unit=emergency.targetを追記します。またの名をレスキューモードとも言います。Windowsのセーフモードみたいな感じでしょうか。
Ctrl+xでこの画面を抜けてレスキューモードを起動します。
起動した!と思ったらパスワードを聞かれてしまうということでこれは使えませんでした。
すみません。無駄足を。。
気を取り直して、もう一度GRUBの設定を開きます。
今度は、linix16の行の末尾にinit=/sysroot/bin/shを追記してCtrl+xしました。
すると今度は、:/#のプロンプトが表示されてパスワード無しで操作できます。
ルートディレクトリを/sysrootに変更しまして、
# chroot /sysroot
Read/Writeでマウントしなおします。※最後の"/"(スラッシュ)を忘れずに。
# mount --o remount,rw /
その後、passwordコマンドで自分が設定したいパスワードへ変更します。
# passwd
mountコマンドを実行したあと改行がたくさん出てきてしまいましたが。。私の環境依存かと思います。
あとは、通常のtargetでOSが起動しますとSE Linuxも有効になりますが、今回SELinuxが上がっていない緊急targetでパスワードを変ていますので、更新された/etc/shadowファイでのSELinux的な不整合が発生することを回避するために、ラベルの再発行(リラベル)をするコマンドを実行します。
# touch /.autorelabel
ご覧の通り、/(ルート)直下に隠しファイルを作るだけですが、次回起動時にラベルを再作成してくれます。
あとは、
# exit
をした後に
# reboot
して、ログインできるかを確認します。
リラベル処理のため、一回立ち上がったあともう一度再起動がかかります。
OS起動後は、無事ログインを通過して使えるようになりました。
以上です。