ともにrootパスワードを要求される。
しかし、管理者が不慮のアクシデントで対応できない状況となった際に、
どうしてもrootパスワードが必要なことが生じることがある。
今回、どうにもならない状況になってしまったため、操作した。
Procedure 25.6. Resetting the Root Password Using rd.break
いくつか手順を発見したので、残しておく
1.GRUB(ブートするOSを選択する画面)で「e」を押す。
2.rhgb quiet LANG*** を消して、systemd.debug の後ろにrw init=/bin/bashを加える。
3.Ctrl+x でboot開始
4.bash-4.2# touch /.autorelabel でSELinuxを有効にする
5.bash-4.2# passwd でrootパスワードを設定する。
6.bash-4.2# exec /sbin/init 通常モードへ移行する。
6.bash-4.2# exec /sbin/init 通常モードへ移行する。
考察
switch_root:/# exit の再起動がうまくないようだ。
switch_root:/# exit の再起動がうまくないようだ。
rd.break enforcing=0 と宣言しなくとも、SELinuxは無効化される様子。
passwd <管理ユーザ>としてパスワードを強制上書きできるが、リラベリングに、えらく時間がかかった。
以下の手順でも再設定はできたので、間違いではないと思われる。
mozcの設定がうまくいっていなかったのかもしれないが、自分で構築していないので
どうにもならなかった・・・。
1.GRUB(ブートするOSを選択する画面)で「e」を押す。
2.rhgb quiet を消して、 rd.break enforcing=0 を書き加える。
(linux16の行と書いてあるが、同じ位置で問題なかった。)
※ enforcing=0はSELinuxの制御をオミットする意味とのこと。
3.Ctrl+x でboot開始
4.switch_root:/# mount -o remount,rw /sysroot を入力しエンター
※ファイルシステムを書き換え可能にする。
5.switch_root:/# chroot /sysroot を入力しエンター
※ファイルシステムをroot管理にする
6.sh-4.2# passwd でrootパスワードを設定する。
7.sh-4.2# exit を入力しエンター
8.switch_root:/# exit を入力しエンター
9.再起動し通常のユーザでログイン後ターミナルで新しいパスワードでroot化する。
10.# restorecon -v /etc/shadow を入力しエンター
※rd.breakで操作したrootパスワード格納のshadow定義をデフォルトにする。
※上記をしないと、再起動時にパスワードを誰も読めずログインできなくなる。
11.# setenforce 1 を入力しエンター
※SELinuxを有効にしておく。
以降は、再起動しても問題ない。
一般ユーザのパスワードはそのままで、rootは新しいパスワードが有効になる。
LUKS(Linux Unified Key Setup)を利用している場合は、
上記の操作を開始する時点でパスワードやファイルによる解除が必要となるそうだが、
LUKS は、膨大な (RHEL 7 では 512 文字) 平文テキストのパスフレーズと、非常に大きな (RHEL 7 では 8 MiB) のキーファイルを許可しているそうなので、
導入には、配慮が必要と改めて感じた。