RedHatのパスワードリセット方法

今回は、インストールするときにキーボードが英語配列になっていたりとかして、実際ログインしようとしたら入れないよ!という場合のパスワードリセット方法をご紹介します。

 

まずは、Gestのシャットダウンから。。

f:id:linlinrh:20171031150130p:plain

 

でもって、電源ONしてブートメニューのところで、eを押します。

f:id:linlinrh:20171031150523p:plain

 

GRUBのパラメーター設定の画面が開くので、linix16の行のを→で移動していって末尾のUTF-8あとに続けて、systemd.unit=emergency.targetを追記します。またの名をレスキューモードとも言います。Windowsのセーフモードみたいな感じでしょうか。

f:id:linlinrh:20171031150913p:plain

Ctrl+xでこの画面を抜けてレスキューモードを起動します。

起動した!と思ったらパスワードを聞かれてしまうということでこれは使えませんでした。

f:id:linlinrh:20171031152821p:plain

すみません。無駄足を。。

 

 

気を取り直して、もう一度GRUBの設定を開きます。

今度は、linix16の行の末尾にinit=/sysroot/bin/shを追記してCtrl+xしました。

f:id:linlinrh:20171031153539p:plain

 

すると今度は、:/#のプロンプトが表示されてパスワード無しで操作できます。

ルートディレクトリを/sysrootに変更しまして、

# chroot /sysroot

Read/Writeでマウントしなおします。※最後の"/"(スラッシュ)を忘れずに。

# mount --o remount,rw /

その後、passwordコマンドで自分が設定したいパスワードへ変更します。

# passwd

f:id:linlinrh:20171031154439p:plain

 mountコマンドを実行したあと改行がたくさん出てきてしまいましたが。。私の環境依存かと思います。

 

あとは、通常のtargetでOSが起動しますとSE Linuxも有効になりますが、今回SELinuxが上がっていない緊急targetでパスワードを変ていますので、更新された/etc/shadowファイでのSELinux的な不整合が発生することを回避するために、ラベルの再発行(リラベル)をするコマンドを実行します。

# touch /.autorelabel

ご覧の通り、/(ルート)直下に隠しファイルを作るだけですが、次回起動時にラベルを再作成してくれます。

あとは、

# exit

をした後に

# reboot

して、ログインできるかを確認します。

f:id:linlinrh:20171031160008p:plain

 

リラベル処理のため、一回立ち上がったあともう一度再起動がかかります。

OS起動後は、無事ログインを通過して使えるようになりました。

f:id:linlinrh:20171031160312p:plain

 

以上です。