Hi,

J. R. Okajima:
> Tomas M kindly told me that it is AppArmor who blocked the file access.
> And I found these lines from Christoph's very big logfile.

> [  278.101295] audit: type=1400 audit(1571757260.203:7): apparmor="DENIED" 
> operation="open" profile="man_groff" name="/live/image/etc/ld.so.cache" 
> pid=1431 comm="preconv" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> [  278.101481] audit: type=1400 audit(1571757260.203:8): apparmor="DENIED" 
> operation="open" profile="man_groff" 
> name="/live/image/usr/lib/x86_64-linux-gnu/libuchardet.so.0.0.6" pid=1431 
> comm="preconv" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> [  278.126956] audit: type=1400 audit(1571757260.231:9): apparmor="DENIED" 
> operation="open" profile="man_groff" name="/live/image/etc/ld.so.cache" 
> pid=1432 comm="tbl" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> [  278.127080] audit: type=1400 audit(1571757260.231:10): apparmor="DENIED" 
> operation="open" profile="man_groff" 
> name="/live/image/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25" pid=1432 
> comm="tbl" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> [  278.289710] audit: type=1400 audit(1571757260.391:11): apparmor="DENIED" 
> operation="open" profile="man_groff" name="/live/image/etc/ld.so.cache" 
> pid=1441 comm="troff" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
> [  278.347156] audit: type=1400 audit(1571757260.451:12): apparmor="DENIED" 
> operation="open" profile="man_groff" 
> name="/live/image/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25" pid=1441 
> comm="troff" requested_mask="r" denied_mask="r" fsuid=0 ouid=0

> These msgs looks matching the strace logfile, and expains the problem.
> But I don't know why AppArmor denied the access.
> Does your AppArmor setting allow reading "/etc/ld.so.cache" and
> "/usr/lib/x86_64-linux-gnu/*.so*", but deny for "/live/image/..."?

Using AppArmor with aufs (or overlayfs by the way) is a bit tricky; it
generally requires adjusting the system's AppArmor policy a bit.
That's why, for example, the Debian Live images disable AppArmor
by default (see ConditionPathExists=!... in apparmor.service).

In case it may be useful to you, we made aufs+AppArmor work in Tails:
see the "Hacks to support the Live system usecase" and "Using alias
rules to avoid modifying profiles" sections in
https://tails.boum.org/contribute/design/application_isolation/

Cheers,
-- 
intrigeri

Reply via email to