LOGPROF.CONF(5)

πŸ’– LOGPROF.CONF β€” the AppArmor group chat config πŸ’–

okay bestie, so this is the manual page for logprof.conf, which is section 5 (file formats, iykyk). It lives in the AppArmor family and it's literally the configuration file for the expert options that change how aa-logprof(1) behaves. Like, it's the vibe-settings file. ✨


✨ NAME ✨

logprof.conf β€” the configuration file for the expert options that modify the behavior of the AppArmor aa-logprof(1) program. πŸ’…


🌸 DESCRIPTION 🌸

So the tea is: aa-logprof(1) can be configured to have certain default behavior just by what's chillin' inside logprof.conf. It's giving "set it and let it do its thing." 🫢

The [qualifiers] section lists specific programs that should get a subset of the full ix/px/ux list whenever it's asking what mode to execute them with.

And the reason is so real: creating a separate profile for /bin/bash is dangerous, so we can specify that for /bin/bash, only (I)nherit, (U)nconstrained, and (D)eny should be allowed options β€” and literally only those will show up in the prompt when we're asking about adding that to a profile. 🚫

Same energy: if someone currently exec's /bin/mount in ix or px mode, things won't work, so we can offer only (U)nconstrained and (D)eny as options. 😭

And certain apps like grep, awk, sed, cp, and mkdir should always inherit the parent profile rather than having their own profile or running unconfined β€” so for them we can specify that only (I)nherit and (D)eny are the allowed options. iconic behavior actually.

Any programs that are not listed in the [qualifiers] section get the full (I)nherit / (P)rofile / (U)nconstrained / (D)eny option set. lucky them πŸ’–

And if the user is doing something tricky and wants different behavior? They can just tweak or remove the corresponding line in the conf file. main character energy β€” your config, your rules.


πŸŽ€ [defaulthat] β€” section two πŸŽ€

The [defaulthat] section lists changehat-aware programs and what hat aa-logprof(1) will collapse the entries to for that program, if the user specifies that the access should be allowed, but should not have its own hat.

πŸ¦‹ [globs] β€” section three πŸ¦‹

The [globs] section allows modification of the logprof rule engine with respect to globbing suggestions that the user will be prompted with.

The format of each line is β€” "<perl glob> = <apparmor glob>".

When aa-logprof(1) asks about a specific path, if the perl glob matches the path, it replaces the part of the path that matched with the corresponding apparmor glob and adds it to the list of globbing suggestions. no cap. πŸ”₯

oh and btw β€” lines starting with # are comments and are ignored. πŸ™ˆ

⭐ EXAMPLE ⭐

like, here's the whole vibe, copied exactly because duh:

  [qualifiers]
    # things will very likely be painfully broken if bash has it's own profile
    /bin/bash  = iu

    # mount doesn't work if it's confined
    /bin/mount = u

    # these helper utilities should inherit the parent profile and
    # shouldn't have their own profiles
    /bin/awk   = i
    /bin/grep  = i
    /bin/sed   = i

  [defaulthat]
    /usr/sbin/sshd           = EXEC
    /usr/sbin/httpd2         = DEFAULT_URI
    /usr/sbin/httpd2-prefork = DEFAULT_URI

  [globs]
    # /foo/bar/lib/libbaz.so -> /foo/bar/lib/lib*
    /lib/lib[^\/]+so[^\/]*$  = /lib/lib*so*

    # strip kernel version numbers from kernel module accesses
    ^/lib/modules/[^\/]+\/   = /lib/modules/*/

    # strip pid numbers from /proc accesses
    ^/proc/\d+/              = /proc/*/

✨ aesthetic ✨


πŸ’€ BUGS πŸ’€

If you find any bugs, please report them at <https://gitlab.com/apparmor/apparmor/-/issues>. not me begging you to file the issue bestie, but like, do it. πŸ₯Ί


πŸ‘‘ SEE ALSO πŸ‘‘

apparmor(7), apparmor.d(5), aa-enforce(1), aa-complain(1), aa-disable(1), aa_change_hat(2), aa-logprof(1), aa-genprof(1), and <https://wiki.apparmor.net>. go read all of them, i'll wait. 🌈


and that's the whole page, bestie!! πŸ’œ this absolute banger was brought to you by AppArmor 6.0.0~alpha1, dated 2026-10-05 β€” slay, enjoy your profiles, and remember: inherit responsibly. πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from