Hi folks,

Thanks for pulling me in.

On Sun, Jan 9, 2022 at 11:15 PM Reinhard Tartler <siret...@gmail.com> wrote:

> Control: reassign -1 storage-common
> Control: affects -1 podman
>
> Hi Philip,
>
> Thank you for your bug report. I'll defer to our overlay expert, Giuseppe.
>
> The Debian equivalent to Fedora's package 'containers-common' has the same
> name in debian, and does ship a 'storage.conf' file in
> /usr/share/containers/storage.conf. This is so that the local administrator
> can copy it to /etc/containers/storage.conf and do local modifications. The
> Debian package copies the storage.conf from the upstream source verbatim.
> As you can see at
> https://github.com/containers/storage/blob/375f77c66685b14fc580daad2dc6df607fb86dee/storage.conf#L95,
> the mount option 'metacopy=on' is missing even upstream.
>
> I am not sure why the Fedora package decided to patch the configuration
> file -- I couldn't find a comment in the .src.rpm that you linked. Also,
> looking at the kernel documentation you provided, it seems your concerns
> re: security are justified, and the option seems to have significant
> security implications:
>
> Do not use metacopy=on with untrusted upper/lower directories. Otherwise
>> it is possible that an attacker can create a handcrafted file with
>> appropriate REDIRECT and METACOPY xattrs, and gain access to file on lower
>> pointed by REDIRECT. This should not be possible on local system as setting
>> “trusted.” xattrs will require CAP_SYS_ADMIN. But it should be possible for
>> untrusted layers like from a pen drive.
>
>
> I'm not sure whether enabling it by default is a good idea. I need to
> think more about this.
>

@Giuseppe Scrivano <gscri...@redhat.com> what do you think?


> I'd also appreciate hearing additional opinions on this, and have copied
> some friends from podman upstream. Do you happen to know what's the
> background / thinking in Fedora with enabling the option metacopy=on?
>
> Happy New Year!
>
> -rt
>
>
> On Sun, Jan 2, 2022 at 9:51 AM Philip <phi...@kellnerweg.de> wrote:
>
>> Package: podman
>> Version: 3.0.1+dfsg1-3+b2
>> Severity: wishlist
>>
>> Dear Maintainer,
>>
>> I had some problems running the dockerized version of the Unifi
>> controller jacobalberty/unifi-docker
>> with podman on Debian.
>> On a Fedora system, starting the container only takes a few seconds.
>> On a Debian system, it can take about 5 minutes.
>>
>> The reason is that on the Fedora system the mount-option metacopy=on
>> (see  [1] for this mount option) is set for the container overlayfs via a
>> default /etc/containers/storage.conf.
>> That makes quite the difference for this specific image because it does a
>> `chown unifi:unifi /usr/lib/unifi` during startup.
>> chown-ing these 6k files is fast with metacopy=on (on Fedora).
>> Without the option (on Debian), I think the files will be copied instead
>> of only their metadata, making it rather slow.
>>
>> So the solution for me was to copy /etc/containers/storage.conf from a
>> Fedora system. If anyone has a similar problem, the file can be extracted
>> from the
>> src rpm of the containers-common package which can be downloaded at [2].
>>
>> IMO it would be useful if Debian would also include a default
>> /etc/containers/storage.conf.
>> Thanks for considering this!
>> However I'm not sure if metacopy=on is a good idea from a security
>> perspective.
>>
>> Best
>> Philip
>>
>> -- System Information:
>> Debian Release: 11.2
>>   APT prefers stable-updates
>>   APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500,
>> 'stable')
>> Architecture: amd64 (x86_64)
>>
>> Kernel: Linux 5.10.0-10-amd64 (SMP w/2 CPU threads)
>> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
>> LANGUAGE=en_US:en
>> Shell: /bin/sh linked to /usr/bin/dash
>> Init: systemd (via /run/systemd/system)
>> LSM: AppArmor: enabled
>>
>> Versions of packages podman depends on:
>> ii  conmon                           2.0.25+ds1-1.1
>> ii  containernetworking-plugins      0.9.0-1+b6
>> ii  crun                             0.17+dfsg-1
>> ii  golang-github-containers-common  0.33.4+ds1-1
>> ii  init-system-helpers              1.60
>> ii  iptables                         1.8.7-1
>> ii  libc6                            2.31-13+deb11u2
>> ii  libdevmapper1.02.1               2:1.02.175-2.1
>> ii  libgpgme11                       1.14.0-1+b2
>> ii  libseccomp2                      2.5.1-1+deb11u1
>>
>> Versions of packages podman recommends:
>> ii  buildah                                           1.19.6+dfsg1-1+b6
>> ii  catatonit                                         0.1.5-2
>> ii  fuse-overlayfs                                    1.4.0-1
>> ii  golang-github-containernetworking-plugin-dnsname  1.1.1+ds1-4+b7
>> ii  slirp4netns                                       1.0.1-2
>> ii  uidmap                                            1:4.8.1-1
>>
>> Versions of packages podman suggests:
>> pn  containers-storage  <none>
>> pn  docker-compose      <none>
>>
>> -- no debconf information
>>
>>
>> [1]:
>> https://www.kernel.org/doc/html/latest/filesystems/overlayfs.html#metadata-only-copy-up
>> [2]:
>> https://kojipkgs.fedoraproject.org//packages/containers-common/1/32.fc35/src/containers-common-1-32.fc35.src.rpm
>>
>>
>
> --
> regards,
>     Reinhard
>

Reply via email to