Hi,

Regis Smith:
>> > lxc-start: test: lsm/apparmor.c: apparmor_prepare: 974 Cannot use
> generated profile: apparmor_parser not available

I've reproduced this problem and I could fix it with:

  lxc.apparmor.profile = unconfined

Regis, can you please confirm this fix works for you as well?

Pierre-Elliott Bécue:
> Cc-ing intrigeri: I'm reconsidering the /etc/lxc/default.conf setting
> regarding apparmor.profile. Putting generated breaks many unpriv
> containers as they have no apparmor.profile set in their configuration.

Considering kernel.unprivileged_userns_clone is disabled by default
on Debian, IMO we should:

 - Optimize for the Debian defaults, i.e. privileged containers:
    - Keep the settings we added recently in /etc/lxc/default.conf
    - Replace "Suggests: apparmor" with "Depends: apparmor", because
      the default config will create containers that fail to start
      if the apparmor package is not installed.

 - Document how to use unprivileged containers on Debian. It's not as
   if they were previously working fine by default and AppArmor broke
   them — regardless of AppArmor, on current sid with the default
   kernel settings and lxc.apparmor.profile = unconfined, trying to
   start an unprivileged container fails in a very much user
   unfriendly way:
   
     conf.c: chown_mapped_root: 3250 lxc-usernsexec failed: Permission denied - 
Failed to open tt

   That's a first usability stumbling block. The new
   lxc.apparmor.profile default setting merely adds a second one.

   So I think README.Debian should document the need for
   kernel.unprivileged_userns_clone=1 and for
   lxc.apparmor.profile = unconfined

 - Take care of the Stretch→Buster upgrade path for unprivileged
   containers, by mentioning in NEWS.Debian that previously working
   unprivileged containers now need lxc.apparmor.profile = unconfined.

Thoughts?

Cheers,
-- 
intrigeri

Reply via email to