症状
即便执行了 chmod +x,命令仍报 Permission denied。权限位看似正确,说明是另一层在拒绝访问。
诊断
检查整条路径与挂载选项:
namei -l /data/script.sh
mount | grep /data
dmesg | tail | grep -i denied
修复
修正属主与可遍历性,而非仅文件模式:
chown app:app /data/script.sh
chmod 750 /data/script.sh
chmod +x /data # parent must be traversable
若挂载选项是障碍则去掉 noexec,并修复 MAC 标签而不是禁用 SELinux。
验证
运行脚本并成功执行。namei 确认文件及其每一级父目录均具执行权限,dmesg 无新的拒绝记录,证明访问现已成功。