本頁說明如何啟用 SELinux,確保容器安全無虞。Red Hat Enterprise Linux (RHEL) 支援 SELinux。如果主機執行的是 RHEL,且您想為叢集啟用 SELinux,就必須在所有主機上啟用 SELinux。從 Google Distributed Cloud 1.9.0 版開始,您可以在叢集建立或升級前後啟用或停用 SELinux。如果主機上已啟用 SELinux,容器執行階段也會啟用這項功能。
檢查 SELinux 是否已啟用
RHEL 預設會啟用 SELinux。
如要驗證,請執行:
getenforce
指令會傳回 Enforcing
、Permissive
或 Disabled
。如果指令傳回 Enforcing
,即可繼續升級或建立叢集。
啟用 SELinux
如果 getenforce
指令傳回 Permissive
,您可以使用 setenforce
指令切換至 Enforcing
模式。使用 setenforce
在 Permissive
和 Enforcing
模式之間切換時,不需要重新啟動系統。不過,如要讓變更在重新啟動後仍有效,請更新 /etc/selinux/config
檔案。
如要切換至
Enforcing
模式,請執行下列指令:sudo setenforce 1 # temporary sudo sed -i 's/SELINUX=permissive/SELINUX=enforcing/g' /etc/selinux/config # persistent - after reboot
如果 SELinux 為 Disabled
,建議先在 Permissive
模式下啟用,然後重新啟動系統,確認系統順利啟動。如果沒有 SELinux 錯誤,即可安全地將 SELinux 切換為 Enforcing
模式。
選用:在
Permissive
模式下啟用 SELinux:sudo sed -i 's/SELINUX=disabled/SELINUX=permissive/g' /etc/selinux/config sudo reboot
如果系統順利重新啟動,且沒有發生 SELinux 錯誤,即可啟用
Enforcing
模式:sudo sed -i 's/SELINUX=disabled/SELINUX=enforcing/g' /etc/selinux/config sudo reboot
在 Enforcing
模式中啟用 SELinux 後,主機上的所有程序 (包括容器執行階段) 都會啟用 SELinux。