完全に忘れた場合にシステムのrootパスワードをリセットする方法を考えたことはありますか?最近まで、GRUBカーネルオプションを変更してシングルユーザーモードで起動するか、initに/ bin/bashなどでシェルを生成するように指示することができました。 Red Hat Enterprise Linux7またはCentOS7では、ゲームがさらにいくつかの手順を変更しました。以下のガイドは、それを実行する方法を示しています!
注意:ファイルシステムが暗号化されている場合、これらの手順は機能しません!
手順は、マシンがKVMやUSBキーボードを使用するVirtualBoxなどの仮想化環境を使用する仮想ゲストであるか、標準のRHEL/CentOSマシンを使用しているかによって異なります。最初の手順は標準マシン用です。仮想ゲストを使用している場合は、この記事を下にスクロールしてください。
標準のRHEL/CentOSマシンでのパスワードのリセット
1)システムを起動し、GRUB2メニューが表示されるまで待ちます。
2)起動メニューで、任意のエントリを強調表示し、
e
を押します。 。3)linuxで始まる行を見つけます。この行の最後に、次を追加します。
init=/bin/sh
注:カーネルパニックに苦しんでいることに気付いた場合は、以下の例のように、「ro」を「rw」からsysrootに変更してください。
rw init=/sysroot/bin/sh
4)F10またはCtrl + Xを押して、編集したオプションを使用してシステムを起動します。
システムが起動すると、ユーザー名やパスワードを入力しなくてもシェルプロンプトが表示されます。
sh-4.2#
5)インストールされたSELinuxポリシーをロードします:
sh-4.2# /usr/sbin/load_policy -i
6)次のコマンドを実行して、ルートパーティションを再マウントします。
sh4.2# mount -o remount,rw /
7)ルートパスワードをリセットします:
sh4.2# passwd root
プロンプトが表示されたら、新しいrootパスワードを入力し、Enterキーを押して確認します。パスワードをもう一度入力して、正しく入力したことを確認し、もう一度Enterキーを押して確認します。両方のパスワードが一致すると、rootパスワードの変更が成功したことを通知するメッセージが表示されます。
8)ルートパーティションを再度マウントします。今回は読み取り専用です:
sh4.2# mount -o remount,ro /
9)システムを再起動します。今後、この手順で設定した新しいパスワードを使用して、rootユーザーとしてログインできるようになります。システムを再起動するには、exit
と入力します およびexit
もう一度環境を離れてシステムを再起動します。
USBキーボードを使用するための手順、またはシステムが仮想ゲストである場合
上記の手順では、USBキーボードにアクセスせずにプロンプトが表示され、KVMやVirtualBoxなどのVMでは機能しない場合があることに注意してください。これらの環境でrootパスワードをリセットするには:
1)rd.break
を追加します init=/bin/sh
の代わりに linux
で始まる行の最後まで Grub2の場合:
2)システムが起動したら、次のコマンドを実行して、ルートファイルシステムを読み取り/書き込みモードで再マウントします。
mount -o remount,rw /sysroot
3)次に実行します:
chroot /sysroot
4)実行:
passwd
5)再起動時にすべてのファイルのラベルを変更するようにSELinuxに指示します(/etc/shadow
のため) ファイルが通常のSELinuxコンテキスト外で変更された)—実行:
touch /.autorelabel
次回の起動時に時間がかかる場合があることに注意してください。
6)「exit
」と入力します chroot環境を終了します。
7)exit
と入力します。 ログアウトするには、システムも再起動することに注意してください。
システムが再起動し、すべてのSELinuxラベルが再適用され、通常のログインプロンプトが表示されます。