Ubuntu

ntpd:權限被拒絕寫入 /var/log/ntpstats/(statsdir 目錄)

  • March 4, 2021

我在 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。ntpdUbuntu 20.04 ( ) 上的預設 AppArmor 配置文件/etc/apparmor.d/usr.sbin.ntpd包含:

...
/var/log/ntp w,
/var/log/ntp.log w,
/var/log/ntpd w,
/var/log/ntpstats/clockstats* rwl,
/var/log/ntpstats/loopstats*  rwl,
/var/log/ntpstats/peerstats*  rwl,
/var/log/ntpstats/protostats* rwl,
/var/log/ntpstats/rawstats*   rwl,
/var/log/ntpstats/sysstats*   rwl,
...

請注意,與正在生成的文件名相比,它所期望的文件名不匹配ntpd。如果您將 AppArmor 配置文件行引用rawstats更改為:

/var/log/ntpstats/raw*   rwl,

並使用 重新載入 AppArmor systemctl reload apparmor,您的統計數據記錄可能會起作用。

還要注意loopstatspeerstats比 . 更有可能有助於診斷 NTP 問題rawstats。(有關此內容的更多資訊,請參見http://doc.ntp.org/current-stable/monopt.html#types。)就個人而言,我認為如果您要費心記錄 rawstats,最好只擷取每個網路上的NTP數據包並使用wireshark或類似的協議分析器對其進行處理。

引用自:https://serverfault.com/questions/1055736