[apparmor] How to setup apparmor for calling an executable from another executable with a profile

Germán Diago Gómez germandiago at gmail.com
Wed May 30 06:44:27 UTC 2018


> If you check your audit logs or dmesg you will find an AppArmor DENIED
> line with full details about the denied request. Once you've got those,
> then it'll be easier to make concrete suggestions for changes.
>
> Thanks
I found a couple of problems. First one being that clang++ (which I am 
invoking) is a link, so I checked and finally discovered that 
/usr/bin/clang++ has a link and that link another link. The final 
executable invoked is /usr/lib/llvm-6.0/bin/clang, so in my profile I 
have something like this in an attemp to let clang do its whole work:

/usr/lib/llvm-6.0/bin/clang ix,
/etc/lsb-release r,
/var/lib/docker/** r,
/tmp/** rw,

Now when I enter the container and invoke "/usr/bin/clang++" the 
executable is invoked. I am trying to compile through the executable 
some file and I still get some error. dmesg output in host system when 
trying to access is:

audit: type=1400 audit(1527662185.487:873): apparmor="DENIED" 
operation="open" info="Failed name lookup - disconnected path" error=-13 
profile="tpi-service-apparmor-new" 
name="var/lib/docker/overlay2/d3440ef9430207afa266fcb1c71be5484989fe1b32554a76b05f67ef5c72e14c/diff/usr/lib/gcc/x86_64-linux-gnu" 
pid=24576 comm="clang++" requested_mask="r" denied_mask="r" fsuid=1000 
ouid=0
[521494.714287] audit: type=1400 audit(1527662185.487:874): 
apparmor="DENIED" operation="open" info="Failed name lookup - 
disconnected path" error=-13 profile="tpi-service-apparmor-new" 
name="var/lib/docker/overlay2/d3440ef9430207afa266fcb1c71be5484989fe1b32554a76b05f67ef5c72e14c/diff/usr/lib/gcc/x86_64-linux-gnu" 
pid=24576 comm="clang++" requested_mask="r" denied_mask="r" fsuid=1000 
ouid=0
[521494.716117] audit: type=1400 audit(1527662185.491:875): 
apparmor="DENIED" operation="open" info="Failed name lookup - 
disconnected path" error=-13 profile="tpi-service-apparmor-new" 
name="var/lib/docker/overlay2/d3440ef9430207afa266fcb1c71be5484989fe1b32554a76b05f67ef5c72e14c/diff/usr/lib/gcc/x86_64-linux-gnu" 
pid=24576 comm="clang++" requested_mask="r" denied_mask="r" fsuid=1000 
ouid=0
[521494.716335] audit: type=1400 audit(1527662185.491:876): 
apparmor="DENIED" operation="open" info="Failed name lookup - 
disconnected path" error=-13 profile="tpi-service-apparmor-new" 
name="var/lib/docker/overlay2/d3440ef9430207afa266fcb1c71be5484989fe1b32554a76b05f67ef5c72e14c/diff/usr/lib/gcc/x86_64-linux-gnu" 
pid=24576 comm="clang++" requested_mask="r" denied_mask="r" fsuid=1000 
ouid=0


Not sure how to fix this. It says some access problem when accessing the 
docker overlay... but I cannot give a var/lib... path, I need an 
absolute path here or apparmor
will not parse the file.

Any ideas of how to suppress this problem? I think that after this 
everything should be fine.

Thanks all for your time!







More information about the AppArmor mailing list