Rhel
當我們在 Red Hat Enterprise Linux 中重置 root 密碼時,“touch /.autorelabel”會做什麼?
在 RHEL 中,在我們執行 rd.break 和所有程序並執行 a
touch /.autorelabel
之後,/.autorelabel 有什麼作用?
該
rd.break
參數在將控制權傳遞給核心之前中斷引導過程。此時,當您執行passwd
命令進行密碼重置時,關聯的影子文件 (/etc/shadow
) 會使用不正確的 SELinux 上下文進行修改。該命令在根目錄下touch /.autorelabel
創建一個名為的隱藏文件。.autorelabel
在下次啟動時,SELinux 子系統將檢測到該文件,然後使用正確的 SELinux 上下文重新標記該系統上的所有文件。在大型磁碟上,此過程可能需要很長時間。文件中還提到了完整重新標記方法的替代方法。首先,
rd.break enforcing=0
在編輯 GRUB 條目時使用參數。這將導致系統最終以 SELinux 設置為許可模式啟動(警告,但不要阻止)。然後,以與以前相同的方式繼續更改密碼。繼續引導過程並允許系統啟動。一旦出現,執行restorecon /etc/shadow
以將正確的 SELinux 上下文恢復到/etc/shadow
文件中。然後,執行setenforce 1
以重新啟用 SELinux 並開始使用系統。