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.
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 /]$
#containerd --version
containerd github.com/containerd/containerd v1.2.2 9754871865f7fe2f4e74d43e2fc7ccd237edcbce
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=
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:
it has its capabilities stripped off somehow. Doing the same under docker shows:
Output of
containerd --version:capabilities running as the user on both show the same, correct result: