V RHEL poté, co provedeme rd.break a celý postup a provedeme touch /.autorelabel
, co dělá /.autorelabel?
Přijatá odpověď:
rd.break
parametr přeruší proces spouštění před předáním řízení do jádra. V tomto okamžiku, když spustíte passwd
příkaz k obnovení hesla, související stínový soubor (/etc/shadow
) je upraven s nesprávným kontextem SELinux.
touch /.autorelabel
vytvoří skrytý soubor s názvem .autorelabel
pod kořenovým adresářem. Při příštím spuštění subsystém SELinux detekuje tento soubor a poté přeoznačí všechny soubory na tomto systému správnými kontexty SELinux. Na velkých discích může tento proces trvat hodně času.
V dokumentaci je také zmíněna alternativa k přístupu úplného přeznačení. Nejprve použijte parametry rd.break enforcing=0
při úpravě záznamu GRUB. To bude mít za následek, že se systém nakonec zavede s SELinux nastaveným na permisivní režim (varovat, ale neblokovat). Poté pokračujte ve změně hesla stejným způsobem jako dříve. Pokračujte v procesu spouštění a nechte systém spustit. Jakmile se objeví, spusťte restorecon /etc/shadow
pro obnovení správného kontextu SELinuxu do /etc/shadow
soubor. Poté spusťte setenforce 1
znovu povolit SELinux a začít používat systém.