免責事項:この質問は、SELinuxがアクティブな間にrootパスワードを変更する問題を解決するものではありません。既に解決している多くのガイドがあります。これは、SELinuxが内部的に行う方法の詳細です。
私は最近SELinuxを使用していますが、最近はもっと連絡を取り合っています。rootパスワードを忘れた場合にリセットする方法を誰かから尋ねられた瞬間がありました。
だから私はCentOSを起動し、grubエントリを次のように編集しました
linux16 <kernel_location> root=/dev/mapper/centos-root rw init=/bin/bash
私が走ったpasswd
後、走っsync
て強制的に再起動しました。再起動後、新しいパスワードでのログインはもちろん、古いパスワードでのログインも拒否されました。
再起動し、カーネルにSELinuxを無効にするパラメーターを渡しました(selinux=0
)。新しいパスワードでログインしてみましたが、うまくいきました。その後、(ファイルを介して.autorelabel
)fs自動ラベル変更を強制し、SELinuxがアクティブな状態でログインできるようになりました。
私の質問は:なぜ起こるのですか?ユーザーまたはオブジェクトの変更ではなく、パスワードの変更のみが行われたときに、再ラベル付けがログインに影響を及ぼすのはなぜですか?
ご清聴ありがとうございました。
TL; DR:通常のルートパスワードのリセットは、SELinuxでは機能しません。どうして?
編集:これは、ハイパーバイザーとしてKVMを使用してCentOS7を実行している仮想マシンでテストされました。