Apparmor

AppArmor 如何將配置文件與程序匹配?

  • November 19, 2018

AppArmor 配置文件可以與流程匹配的所有方式有哪些?一個似乎是基於路徑的(例如,/sbin/dhclient配置文件在/sbin/dhclient執行時應用)但這是由於/sbin/dhclient出現在sbin.dhclient配置文件中還是因為sbin.dhclient命名方式?

此外,對於非基於路徑的配置文件匹配(例如docker-default配置文件),AppArmor 如何告知將配置文件應用到哪些程序?

AppArmor 配置文件使用文件名的命令的錯位路徑只是一個約定。來自man 7 apparmor

配置文件傳統上儲存在文件/etc/apparmor.d/名下的文件中,約定將/in 路徑名替換為. (除了 root /),因此配置文件更易於管理(例如, /usr/sbin/nscd配置文件將命名為usr.sbin.nscd)。

如果配置文件名稱包含文件 glob,則適用於與該 glob 匹配的文件。來自AppArmor 核心策略參考

AppArmor 使用附件規範來確定配置文件將附加到哪些執行檔。如果未提供備用配置文件名稱,則附件規範也用作配置文件名稱,如果未指定附件規範,則必須提供配置文件名稱。

配置文件的名稱在 AppArmor 中非常重要。它不僅提供使用者可以關聯到配置文件規則集的名稱,而且還用於標記、ipc,並且在名稱是附件規範的情況下,它確定配置文件附加到哪些執行檔。

引用自:https://unix.stackexchange.com/questions/482712