RockyLinux9 By SystemArch_Alex

Rocky Linux 9 基礎教學 (06):SELinux 從入門到不放棄

理解強制存取控制 (MAC)

許多工程師在遇到權限問題時,直覺會關閉 SELinux,但在生產環境中,這會留下巨大的安全隱患。Rocky Linux 9 預設啟用 SELinux,學會管理它才是專業的表現。

1. 檢查與切換模式

查看目前的運行狀態:

sestatus

若需暫時切換到 Permissive 模式(僅記錄不攔截)進行除錯:

sudo setenforce 0
2. 管理檔案安全內容 (Context)

當你更改網頁根目錄時,必須修正其 Context,否則 Nginx 會出現 403 Forbidden:

# 查看檔案的 SELinux 標籤
ls -Z /var/www/html

# 修改特定目錄的預設標籤
sudo semanage fcontext -a -t httpd_sys_content_t "/web(/.*)?"

# 恢復標籤使其生效
sudo restorecon -Rv /web
3. 布林值 (Booleans) 控制

有些服務的功能需要手動開啟,例如允許 httpd 傳送郵件:

sudo getsebool -a | grep httpd
sudo setsebool -P httpd_can_sendmail on

學會使用 semanagerestorecon,你就能在不關閉安全防護的情況下讓服務順利運行。