| 场景 | 服务或用户访问文件报 Permission denied |
|---|---|
| 目标 | 定位权限链条断点 |
| 工具链 | namei → id/getfacl → lsattr → audit/sealert |
第 1 步:目标与路径逐级检查
第 1 步:目标与路径逐级检查
ls -l /srv/app/data/report.csv
namei -l /srv/app/data/report.csv # 逐级显示每层目录权限第 2 步:核对进程实际身份与组
第 2 步:核对进程实际身份与组
ps -o user,group,pid,cmd -p $(pgrep -f app.jar | head -1)
id appuser
cat /proc/$(pgrep -f app.jar | head -1)/status | grep -E '^Uid|^Gid'第 3 步:检查 ACL 与属性
第 3 步:检查 ACL 与属性
getfacl -p /srv/app/data/report.csv
lsattr /srv/app/data/report.csv 2>/dev/null第 4 步:SELinux 场景
第 4 步:SELinux 场景
getenforce
ls -Z /srv/app/data/report.csv
audit2allow -w -a 2>/dev/null | tail # 或看 /var/log/audit/audit.log 中 denials目录权限是常见盲区:文件 644 但中间目录少了 x,同样进不去;namei -l 一屏定位。