rootパスワードを忘れたらシングルユーザーモードでリセット

※記事内に商品プロモーションを含む場合があります

家に置いてあるh.eax.jpサーバをatomで作った後、
httpdなどは正常に動いていますが、windowsからの
ファイルバックアップ用のsambaがログイン出来ない状態でした。

そこで、makeでインストールしてもログイン出来ず、
そこでしばらく時間が経ってしまいました。

そのあと、SSHでログインしようと試みたのですが、
何処にもrootパスワードがメモして無く紛失してしまいました。

今回は、CentOSでも使える、rootパスワードのリセット方法を紹介します。

Centosでのrootパスワードリセット方法

rootパスワードを忘れると設定や、アプリのアップデート
もできなくなってしまいます。

rootパスワードのリセットには、シングルユーザーモードを使います。

この方法はGNU GRUBブートローダーでカーネルオプションの
追加を行います。
SSHなどリモートでのリセットは不可です。

ただし、さくらのVPSの場合は、リモートコンソールに
ブートローダーの画面も表示されるのでシングルユーザーモードが可能です。

方法

一旦サーバーの電源を切ります。
切った後、BOISからブートローダーに制御が移る段階で
Escキーを押します。
さくらのVPSではエンターキーと書かれています。

ここでGNU GRUB ~ と表示されたら
GRUBのメニューの表示に成功しました。
OSが起動してしまったら、最初からやり直してください。

GRUBのメニュには起動出来るOSの一覧が載っています。
1つしかない場合もあります。

複数ある場合は↑↓キーで選択します。
該当するOS上でeキーを押します。

次に表示されるeditモードには
kernel ~
initrd ~
と2行表示されていると思います。

今回いじるのはkernelの方です。

kernelの行は長いですが、最後まで→キーで行き
最後に” 1″(スペース半角1)を追加します。

” single”でもよいそうです。

エンターキーを押して、editモードを終了します。

次に、編集を行ったOS上でbキーを押します。
bキーを押すことで該当OSの起動が行われます。

パスワード変更

無事シングルユーザーモードで起動したら
passwdコマンドでパスワードを変更します。

今回rootパスワードなので、ユーザーは無しでよいです。

この時は、テンキーは使わない方がよさそう。
一度テンキーの数字とアルファードのパスワードを設定しましたが
ログイン出来ず再度リセットを行うはめになりました。

パスワードの設定が無事終わったらrebootコマンドなどで再起動を行います。
再起動後は通常モードでの起動となるので設定したパスワードでログインします。

あとがき

そのあと、makeでインストールしたsambaはアンインストール出来ません
でしたが、yumで再度インストールしたsambaが正常に使える様になりました。