Linux Context 权限管理实战指南
一 核心概念与工作原理
二 常用操作与命令速查
getenforce(返回 Enforcing/Permissive/Disabled)sudo setenforce 0|1(仅在 Permissive/Enforcing 之间切换)ls -Z /pathps -eZ 或 ps -efZsudo chcon -R -t <type> /pathsudo semanage fcontext -a -t <type> "/path(/.*)?" 然后 sudo restorecon -Rv /pathgetsebool -a | grep <svc>sudo setsebool -P <bool>=on|off(如 httpd_can_network_connect)grep "avc: denied" /var/log/audit/audit.log | audit2allow -M mypolicy && sudo semodule -i mypolicy.ppsemanage port -l | grep <svc>;添加端口:sudo semanage port -a -t <port_t> -p tcp <port>sudo semanage login -a -s <selinux_user> <system_user>三 典型场景与处理步骤
ls -Z /var/www/htmlsudo restorecon -Rv /var/www/html(按策略恢复默认上下文)semanage port -l | grep http_port_tsudo semanage port -a -t http_port_t -p tcp 8080sudo semanage fcontext -a -t httpd_sys_content_t "/opt/webapps(/.*)?"sudo restorecon -Rv /opt/webappsausearch -m AVC -ts recentgrep "avc: denied" /var/log/audit/audit.log | audit2allow -M mysvc && sudo semodule -i mysvc.pp四 故障排查与最佳实践
getenforce(必要时先切到 Permissive 验证是否为 SELinux 问题)tail -f /var/log/audit/audit.log 或 ausearch -m AVC -ts recentrestorecon 恢复默认上下文;确需新增规则再用 semanage fcontext 持久化;必要时用 audit2allow 生成最小策略模块chcon,优先用 semanage fcontext + restorecon 做持久化五 与传统权限及 AppArmor 的关系
apparmor_parser、aa-status 等工具管理。