Opensource.comは4月30日(米国時間)、「Reset a lost root password in under 5 minutes|Opensource.com」において、Fedora、CentOS、Red Hat Enterprise Linuxでrootパスワードをリセットする方法を紹介した。rootのパスワードを忘れてしまった場合や、担当者が人事異動または退職などを行いパスワードが不明になった場合に対処する方法として紹介されている。対象となっているディストリビューションはsystemdが動作しているFedora、CentOS、Red Hat Enterprise Linuxとされている。

記事では、まずは起動時のGRUBメニューでeキーを押すとしている。

  • GRUBメニューでeを押す - 資料: Opensource.com提供

    GRUBメニューでeを押す - 資料: Opensource.com

GRUBメニューに表示されるlinux16からはじまる行の「rhgb quiet」という表記を削除して「rd.break enforcing=0」という表記に入れ替え、Ctrl-Xを押す。

システムが緊急モードで起動してきたら、次の操作を行ってrootのパスワードを新しいパスワードへ変更。passwdでは2回新しいパスワードを入力する。

システム領域をマウントしてパスワードを変更

mount –o remount,rw /sysroot
chroot /sysroot
passwd
exit
exit

システムを再起動したら、次のコマンドを実行してSELinuxラベルをリストアするとともに、強制モードを有効化。

SELinuxのラベルを元に戻して機能を有効化

restorecon -v /etc/shadow
setenforce 1

属人的な作業で運用が始まったサーバは担当者に依存していることがあり、人事異動や退職、転職などで気がつくと管理者権限でサーバにアクセスできなくなっていることがある。システムコンソールにアクセスできる環境であれば、そうした状況においても、今回紹介されている方法が利用できる。

なお、ディスク全体がLUKSを使って暗号化されている場合は、利用する段階でLUKSのパスワードを入力する必要がある。