标准答案

  1. ACL 可以为特定用户或组提供比属主、属组、other 更细的访问规则,mask 还会限制命名用户和组的有效权限。
  2. SELinux 以安全上下文和策略判断访问,AppArmor 通常以程序路径和规则限制资源。
  3. 排查要查看拒绝日志、文件上下文或 profile,确认服务进程身份和实际访问路径,而不是盲目关闭安全机制。
  4. 修复应补充最小必要策略并验证恢复、轮转、临时目录和升级流程,避免用全局放开权限替代策略设计。

题目解析

DAC 权限由 owner、group 和 mode 等普通权限决定,SELinux 或 AppArmor 等强制访问控制还会根据进程、文件标签、路径和策略做额外判断。因此 chmod 成功并不代表访问一定允许;策略拒绝通常会在 audit 日志或内核日志中留下线索。

正确处理方式是先确认服务进程身份和访问动作,再查看拒绝记录、标签和 profile,编写最小策略或调整文件标签。临时放宽策略可以用于验证因果,但不能把禁用 SELinux/AppArmor 当作生产修复。

常见误区

  • 误区:直接禁用 SELinux 或 AppArmor。改正:先从审计日志确认具体被拒绝的动作,再增加最小规则。
  • 误区:只改 chmod 不看拒绝日志。改正:同时检查 DAC、文件标签、profile、挂载和服务运行身份。

作者信息