CentOS下管理SELinux策略主要通過命令行工具和配置文件實現,核心操作如下:
查看狀態
sestatus
:查看SELinux當前模式(Enforcing/Permissive/Disabled)及策略類型。getenforce
:快速獲取當前模式(非配置文件中的永久狀態)。切換模式
setenforce 1
:強制模式(Enforcing)。setenforce 0
:寬容模式(Permissive)。/etc/selinux/config
,修改 SELINUX=
為對應值,需重啟生效。管理布爾值(快速開關規則)
getsebool -a
:查看所有布爾規則狀態。setsebool -P <規則名> <1/0>
:永久修改規則(如允許HTTP訪問用戶目錄:setsebool -P httpd_enable_homedirs 1
)。調整文件/目錄上下文
ls -Z <路徑>
:查看文件/目錄的安全上下文。chcon -t<類型> <路徑>
:臨時修改上下文(如將目錄設為HTTP內容類型)。semanage fcontext -a -t<類型> "<路徑>(/.*)?"
+ restorecon -Rv <路徑>
:永久修改上下文。安裝/編譯自定義策略模塊
yum install policycoreutils-devel
。ausearch -c '進程名' --raw | audit2allow -M 模塊名
。semodule -i 模塊名.pp
。seinfo -t
(查看類型)、sesearch --allow
(查看允許規則)。ausearch -m avc
(查看拒絕事件)、aureport -m avc
(生成報告)。注意:修改策略前建議備份重要數據,生產環境謹慎操作,優先在測試環境驗證。
參考來源: