Erro ao executar o ntpd no host openVZ: cap_set_proc () falhou ao eliminar privilégios de root:

7

CentOS 6.x | OpenVZ

Eu quero executar um servidor NTP em um host vps meu. Isso é possível?

Quando tento iniciar o ntpd, ele falha imediatamente e apresenta o seguinte erro:

Mar 14 22:47:44 ev1 ntpd[3456]: cap_set_proc() failed to drop root privileges: Operation not permitted

Eu o localizei em uma configuração em / etc / sysconfig / ntpd

# Drop root to id 'ntp:ntp' by default.
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"

Quando esta linha está habilitada, ela falha (presumivelmente porque o kernel compartilhado se recusa a permitir a mudança de privilégios). Se eu comentar, o ntpd roda bem, mas roda como root, que é A Bad Thing.

Existe alguma maneira de fazer o ntpd rodar como o usuário ntp no openVZ? Admito que eu sei que é uma ótima idéia ter isso rodando em um servidor OpenVZ, mas eu ainda gostaria de tentar.

    
por Mike B 15.03.2013 / 07:04

1 resposta

6

Você deve adicionar a Opção de capacidade " sys_time " conforme declarado em [Users] Como funciona o relógio no OpenVZ? através do comando:

vzctl set 101 --capability sys_time:on --save

Você deve substituir "101" pelo CTID do seu contêiner.

Em seguida, reinicie a máquina / contêiner. Agora, ntpd deve ser executado como esperado com o usuário " ntp ".

Você pode verificar se o servidor ntpd funciona com:

/etc/init.d/ntpd status

E:

ntpq -c as
ntpq -c pe
    
por 27.08.2013 / 11:20

Tags