Linux管理・運用の基本
システム管理者のための実践ガイド
システム管理者のための実践ガイド
Linuxサーバーを運用していると、rootパスワードをうっかり忘れてしまい、ログインできなくなるという事態に遭遇することがあります。このような緊急時でも、落ち着いて対処すればパスワードを再設定し、システムにアクセスできるようになります。この記事では、rootパスワードを忘れてしまった場合の具体的な対応方法について、シングルユーザーモードを使った再設定手順を解説します。
passwd
コマンドを使ったrootパスワードの再設定手順rootパスワードを忘れてしまった場合、通常の方法ではログインできません。このような場合、Linuxの起動オプションを変更し、シングルユーザーモード(またはレスキューモード)で起動することで、一時的にroot権限でログインし、パスワードを再設定できます。
この方法は基本的に「サーバー本体へ直接アクセスできる場合」に限られます。クラウドやVPS環境では、プロバイダーごとにrootパスワード再発行やリカバリーモード起動、シリアルコンソールへの接続機能などが用意されている場合があります。詳細はご利用のサービス提供元の公式ドキュメントやサポートをご確認ください。
また、GRUBにパスワードを設定していない場合、誰でもrootパスワードを再設定できてしまうことになります。セキュリティ対策として、必要に応じてGRUBパスワード設定も検討しましょう。
ディストリビューションによって多少異なりますが、GRUBブートローダーの画面で起動オプションを編集するのが一般的です。
サーバー起動時、GRUBメニューが表示されるタイミングでいずれかのキー(通常はShift
キーまたはEsc
キー)を連打し、GRUBメニューを表示させます。もしGRUBメニューがすぐに表示されずにOSが起動してしまう場合は、サーバーを再起動して再度試みてください。
GRUBメニューが表示されたら、通常起動するカーネルを選択し、e
キーを押して編集モードに入ります。
次に、カーネルの起動オプションが記述されている行を探します。多くの場合、「linux
」で始まる行、または「vmlinuz
」のようなカーネルイメージ名を含む行です。この行の末尾に、以下のいずれかのオプションを追加します。
CentOS / RHEL / Fedora系の場合:
rd.break enforcing=0
または、古いバージョンでは
init=/bin/bash
を追加します。
Ubuntu / Debian系の場合:
init=/bin/bash
または
rw init=/bin/bash
を追加します。ro
(read-only) が指定されている場合は rw
(read-write) に変更します。
変更後、Ctrl + x
キーまたはF10
キーを押して、変更したオプションで起動します。
rd.break
で起動した場合、ファイルシステムは読み取り専用でマウントされています。パスワードを変更するために書き込み可能にする必要があります。
mount -o remount,rw /sysroot
chroot /sysroot
mount -o remount,rw /sysroot
: /sysroot
を読み書き可能で再マウントします。chroot /sysroot
: /sysroot
をルートディレクトリとして扱い、その環境でコマンドを実行できるようにします。Ubuntu/Debian系でinit=/bin/bash
を使用した場合も、ファイルシステムが読み取り専用でマウントされている可能性があります。その際は以下のコマンドで再マウントしてください。
mount -o remount,rw /
rootパスワードを再設定します。
passwd root
上記コマンドを実行すると、新しいパスワードの入力を求められます。新しいパスワードを2回入力し、パスワードが設定されたことを確認します。
CentOS/RHEL系でSELinuxが有効になっている場合、パスワードファイルを変更しただけではSELinuxのセキュリティコンテキストが正しくないため、次回起動時にログインできないことがあります。これを解決するために、以下のコマンドを実行します。
touch /.autorelabel
このファイルを配置することで、次回起動時にSELinuxがファイルシステム全体のラベルを自動的に再構築します。 ※SELinux有効時は、再起動後に自動的にファイルラベルの再構築(relabel)が行われます。システムの規模によっては最初の起動に時間がかかる場合がありますので、慌てずにお待ちください。
変更を適用し、通常モードで再起動します。
exit # chroot環境から抜ける(rd.breakの場合)
reboot -f
reboot -f
は強制再起動です。シングルユーザーモードによっては sync
コマンドでキャッシュを同期させてから reboot
するのが推奨される場合もあります。
passwd: Authentication token manipulation error
」と表示される場合:
これは、ファイルシステムが読み取り専用(read-only, ro
)でマウントされている可能性が高いです。ステップ3の「ファイルシステムの再マウント」を再度確認し、ファイルシステムが書き込み可能(read-write, rw
)でマウントされていることを確認してください。rootパスワードを忘れてしまった場合でも、シングルユーザーモードで起動することで、パスワードを安全に再設定できます。この手順は、システムへの物理的なアクセスが必要ですが、万が一の際には非常に有効な手段となります。
パスワードを再設定した後は、必ず一度サーバーを再起動し、新しいパスワードでログインできることを確認してください。また、このような事態を避けるためにも、日頃からパスワード管理方法を見直したり、可能な場合は多要素認証の導入や、日常的な運用ではsudoの活用を徹底するなどのセキュリティ対策を講じることを強くお勧めします。
この記事が、rootパスワードの再設定と、それに付随するセキュリティ対策について理解を深める一助となれば幸いです。
ご覧いただきありがとうございました。
次回は、よくある日本語入力トラブルの対処方法について解説します。