我正在为Ubuntu 14.04中的Nginx构建AppArmor策略,如果不启用dac_override功能,我无法使其工作.
Nginx真的需要启用这个吗?还是有办法解决它?覆盖所有自主访问控制看起来很有风险,但可能在AppArmor约束中很常见.
Nginx运行良好无限制,所以我认为没有权限问题,但我是AppArmor的新手,所以我可能错了.
最佳答案
Ubuntu中
Nginx日志的默认
文件权限是rw-r —–.这些
文件归www-admin:adm所有.
Nginx在用户root下启动,默认情况下具有CAP_DAC_OVERRIDE功能(请记住root可以读取和写入系统中的任何文件)但是一旦AppArmor限制启动,该进程即使以root身份运行也会失去该功能,因此主Nginx进程无法打开日志文件.
解决方案是更改权限,以便root也可以写入这些文件,或将dac_override功能添加到AppArmor Nginx配置文件.