诸如ntpd
和 之ntpdate
类的NTP 命令具有特权并且属于根组。以非 root 身份运行这些命令的最佳方法是什么?Linux 功能、所有权、任何方法?我有 openSUSE 13.2,我更喜欢 Linux 功能是否有帮助(当然如果适用的话)。我看着到Linux的功能列表中,我曾尝试申请CAP_DAC_OVERRIDE
,CAP_SYS_ADMIN
,CAP_SYS_RAWIO
,CAP_SYS_TIME
既ntpd
和ntpdate
它没有工作。
小智 3
这两个配置选项应该可以帮助您提高ntpd
安全性:
NTPD_OPTIONS="-g -u ntp:ntp"
NTPD_RUN_CHROOTED="yes"
Run Code Online (Sandbox Code Playgroud)
解释
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