Nginx

nginx 在其 AppArmor 策略中真的需要 dac_override 嗎?

  • July 31, 2020

我正在為 Ubuntu 14.04 建構 AppArmor 策略,如果不啟用該功能nginx,我將無法使其工作。dac_override

是否nginx真的需要啟用此功能,或者有什麼方法可以解決它?覆蓋所有自主訪問控制看起來很冒險,但它可能在 AppArmor 約束中很常見。

nginx不受限制地執行良好,所以我認為沒有權限問題,但我是 AppArmor 的新手,所以我可能錯了。

Ubuntu 中 nginx 日誌的預設文件權限是rw-r-----. 這些文件歸www-admin:adm.

nginx在 user 下啟動root,預設情況下具有CAP_DAC_OVERRIDE能力(請記住,root可以讀取和寫入系統中的任何文件)但是一旦 AppArmor 限制啟動,該程序即使執行 as 也會失去該能力root,因此主 nginx 程序無法打開日誌文件。

解決方案是更改權限以便也root可以寫入這些文件,或者將dac_override功能添加到 AppArmor nginx 配置文件。

引用自:https://serverfault.com/questions/776940