[apparmor] RFC: using variables to make profiles more flexible
John Johansen
john.johansen at canonical.com
Mon Dec 4 17:53:32 UTC 2017
On 12/03/2017 04:05 AM, intrigeri wrote:
> Hi,
>
> Vincas Dargis:
>> What about actual implementation, should we "push":
>
>> * `tunables/usr.bin.thunderbird` empty file (same as with local/usr.bin.thunderbird), or
>> * `tunables/usr.bin.thunderbird.d` directory for more flexibility, but without a file (user should create one himself)?
>
>> Or maybe these tunables should be placed deeper, like:
>
>> `tunables/<something>/usr.bin.thunderbird{,.d}`
>
> At first glance I would essentially apply the same path structure as
> what we do for top-level profiles:
>
> * `tunables/usr.bin.thunderbird`, shipped by the package, has the
> default settings
>
> * `local/tunables/usr.bin.thunderbird` can be used by the local admin
> to override/extend the default settings
>
> The thing is, I'd rather not ship yet another empty file that is
> strictly needed to parse/compile the usr.bin.thunderbird profile: as
> we've been discussing a few days ago, this would cause unnecessary
> packaging complexity, add painful coupling, and make us even more
> stuck into old-style filesystem conventions that are problematic for
> important use cases these days.
>
> So this seems to be yet another use case for a directive like
> #include_if_exists (or #include -<path/to/snippet>, to reuse systemd
> conventions wrt. directives that are allowed to fail). I've had
> a quick look (disclaimer: I'm not a C person and know nothing about
> flex parsers) and it seems this should not be very hard to implement
> in parser/parser_lex.l. Maybe we could discuss the interface and
> behavior of this new/updated directive in a dedicated thread, and once
> we've reached an agreement I could try to find someone to implement it?
>
yes very easy to implement, its mostly agreeing on the syntax
More information about the AppArmor
mailing list