如何以非 root 身份运行 ntp 命令?

如何以非 root 身份运行 ntp 命令?

NTP 命令(例如ntpd和 )ntpdate具有特权并且属于根组。以非 root 身份运行这些命令的最佳方法是什么? Linux 的能力、所有权、任何方法?我有 openSUSE 13.2,并且我更喜欢是否有 Linux 功能可以提供帮助(当然如果适用的话)。我查看了 Linux 功能列表,尝试将CAP_DAC_OVERRIDE, CAP_SYS_ADMIN, CAP_SYS_RAWIO,CAP_SYS_TIME应用于两者ntpdntpdate但没有成功。

答案1

这两个配置选项应该可以帮助您提高ntpd安全性:

NTPD_OPTIONS="-g -u ntp:ntp"
NTPD_RUN_CHROOTED="yes" 

解释

  • NTPD_OPTIONS="-g -u ntp:ntp"--g启动时设置一次,ntpd 忽略设置为 1000 的默认阈值。-u ntp:ntp使守护进程作为 ntp 用户和组运行。
  • NTPD_RUN_CHROOTED="yes"- 使 ntpd 运行chrooted,减少漏洞利用造成的损害。

由于ntpd以ntp用户身份运行,并使用ntpdate手动调整时间这不是一个好的做法,我不明白你为什么要费心 ntpdate。要强制手动查询,请使用sudo ntpd -gq并将以下内容添加到您的/etc/sudoers文件中:

your-username ALL = (root) NOPASSWD: /usr/sbin/ntpd -gq

相关内容