我在 Ubuntu 20.04 LTS 上运行 NTP 服务器。服务器工作正常,客户端正确轮询服务器。但是当我想记录统计信息时,我不断收到权限错误。
我试图在 ntp.conf 中包含以下几行:
statistics rawstats
statsdir /var/log/ntpstats/
filegen rawstats file raw type day link enable
看的时候systemctl ntp status
:
mars 05 09:08:48 RD-NTP ntpd[3534] : can't open /var/log/ntpstats/raw.20210305: Permission denied
mars 05 09:08:50 RD-NTP ntpd[3534] : can't open /var/log/ntpstats/raw.20210305: Permission denied
mars 05 09:08:52 RD-NTP ntpd[3534] : can't open /var/log/ntpstats/raw.20210305: Permission denied
mars 05 09:08:54 RD-NTP ntpd[3534] : can't open /var/log/ntpstats/raw.20210305: Permission denied
但对我来说,该目录具有正确的权限ls -al
:
drwxr-xr-x 2 ntp ntp 4096 april 2 2020 .
在选择默认文件夹之前,我尝试使用我创建的一个并使用此命令在权限中添加 ntp : chmod ntp:ntp /home/ubuntu/ntpstats/
,它不起作用所以我切换到这个,也不起作用。
你知道为什么 ntpd 一直出错,即使 ntp 在文件夹上占了上风吗?
很可能导致您的权限问题的不是权限位,而是 AppArmor。
ntpd
Ubuntu 20.04 ( ) 上的默认 AppArmor 配置文件/etc/apparmor.d/usr.sbin.ntpd
包含:请注意,与正在生成的文件名相比,它所期望的文件名不匹配
ntpd
。如果您将 AppArmor 配置文件行引用rawstats
更改为:并使用 重新加载 AppArmor
systemctl reload apparmor
,您的统计数据记录可能会起作用。还要注意
loopstats
和peerstats
比 . 更有可能有助于诊断 NTP 问题rawstats
。(有关此内容的更多信息,请参见http://doc.ntp.org/current-stable/monopt.html#types。)就个人而言,我认为如果您要费心记录 rawstats,最好只捕获每个网络上的NTP数据包并使用wireshark或类似的协议分析器对其进行处理。文件本身呢?那已经存在了吗?
试试这些:
小心!
chown更改所有权,而不是权限。
chmod更改权限。
我建议你需要很好地掌握这两个概念,否则你可能会把你的 Linux 机器弄得一团糟。