在 openVZ 主机上运行 ntpd 时出错:cap_set_proc() 无法删除 root 权限:

在 openVZ 主机上运行 ntpd 时出错:cap_set_proc() 无法删除 root 权限:

CentOS 6.x |开放VZ

我想在我的 vps 主机上运行 NTP 服务器。这可能吗?

当我尝试启动 ntpd 时,它立即失败并给出以下错误:

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

我已将其本地化为 /etc/sysconfig/ntpd 中的设置

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

当启用此行时,它会失败(大概是因为共享内核拒绝允许权限更改)。如果我将其注释掉,ntpd 运行正常,但以 root 身份运行,这是一件坏事。

有没有办法让 ntpd 在 openVZ 上以 ntp 用户身份运行?诚然,我知道在 OpenVZ 服务器上运行它是个好主意,但我仍然想尝试一下。

答案1

您应该添加能力选项" sys_time" 如中所述[用户] OpenVZ 中的时钟如何工作?通过命令:

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

当然,您应该将“101”替换为容器的 CTID。

然后重新启动机器/容器。现在,ntpd应该使用“ ”用户按预期运行ntp

然后您可以检查ntpd服务器是否可以使用:

/etc/init.d/ntpd status

和:

ntpq -c as
ntpq -c pe

相关内容