Skip to content

containerd stripping filesystem capabilities #2942

@kfox1111

Description

@kfox1111

BUG REPORT INFORMATION

Description

We created an image using docker build, that contains a "USER daemon" line setting the default user.
This container functions properly in docker 1.13.

Under containerd xxxx running it:

ctr run testingimage:latest foo -t 
(ansible)[daemon@xxx1 /]$ ping google.com
ping: socket: Operation not permitted
(ansible)[daemon@xxx1 /]$ getcap /usr/bin/ping
(ansible)[daemon@xxx1 /]$ exit

it has its capabilities stripped off somehow. Doing the same under docker shows:

(ansible)[daemon@runner-2b155e38-project-255-concurrent-0ccvjk /]$ getcap /usr/bin/ping
/usr/bin/ping = cap_net_admin,cap_net_raw+p
(ansible)[daemon@runner-2b155e38-project-255-concurrent-0ccvjk /]$ 

Output of containerd --version:

#containerd --version
containerd github.com/containerd/containerd v1.2.2 9754871865f7fe2f4e74d43e2fc7ccd237edcbce

capabilities running as the user on both show the same, correct result:

capsh --print
Current: = cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,35,36+i
Bounding set =cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,35,36
Securebits: 00/0x0/1'b0
 secure-noroot: no (unlocked)
 secure-no-suid-fixup: no (unlocked)
 secure-keep-caps: no (unlocked)
uid=2(daemon)
gid=2(daemon)
groups=

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions