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メニューに表示される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のパスワードを入力する必要がある。