Estou jogando com conteinerização de várias partes da minha infraestrutura de servidor e um dos serviços que gostaria de executar no container é o daemon ntp.
Estou usando o systemd-nspawn (systemd 233) como um hypervisor, bem como o processo init dentro dos contêineres.
A versão ntpd é 4.2.8p10.
Toda vez que eu tento iniciar o ntpd dentro de um contêiner ele falha com a operação cap_set_proc()
não permitida:
21 Oct 11:10:23 ntpd[51]: ntpd [email protected] Fri Oct 20 23:28:39 UTC 2017 (1): Starting
21 Oct 11:10:23 ntpd[51]: Command line: ntpd -g -n -u ntp:ntp
21 Oct 11:10:23 ntpd[51]: Cannot set RLIMIT_MEMLOCK: Operation not permitted
21 Oct 11:10:23 ntpd[51]: proto: precision = 0.335 usec (-21)
21 Oct 11:10:23 ntpd[51]: Listen normally on 0 v4wildcard 0.0.0.0:123
21 Oct 11:10:23 ntpd[51]: Listen normally on 1 lo 127.0.0.1:123
21 Oct 11:10:23 ntpd[51]: Listening on routing socket on fd #18 for interface updates
21 Oct 11:10:23 ntpd[51]: mlockall(): Cannot allocate memory
21 Oct 11:10:23 ntpd[51]: start_kern_loop: ntp_loopfilter.c line 1119: ntp_adjtime: Operation not permitted
21 Oct 11:10:23 ntpd[51]: set_freq: ntp_loopfilter.c line 1082: ntp_adjtime: Operation not permitted
21 Oct 11:10:23 ntpd[51]: cap_set_proc() failed to drop root privs: Operation not permitted
O que tentei até agora:
ntp_adjtime
syscall. --private-users=0
e sem --private-users
. CAP_SYS_TIME
e CAP_NET_BIND_SERVICE
) Tudo isso não deu resultados positivos e eu me pergunto o que estou perdendo. Qualquer idéia será muito apreciada.
Tags ntpd systemd-nspawn