leapseconds 文件:权限被拒绝

leapseconds 文件:权限被拒绝

我的服务器日志有几个这样的条目:

leapseconds file /etc/ntp.leapseconds: Permission denied
[1195225.016830] type=1400 audit(1420833186.419:25): apparmor="DENIED" operation="open" profile="/usr/sbin/ntpd" name="/etc/ntp.leapseconds" pid=28627 comm="ntpd" requested_mask="r" denied_mask="r" fsuid=0 ouid=0

我一直在尝试设置 leapseconds 文件(显然如此),但 ntp 在服务重启时给出了这些错误。ntp.leapseconds 上的文件权限足够(644,我也尝试过授予完全权限)。我在 Ubuntu 14.04 上。

知道为什么会发生这种情况以及如何解决它吗?

答案1

我不知道 NTP 是否应该访问该文件,/etc/ntp.leapseconds但我可以告诉你为什么会遇到这个问题。

LSM apparmor 正在拒绝读取。

如果您认为 NTP 应该有权访问该文件,那么正确的解决方案是更新 ntp 的 apparmor 配置文件。

sudo vim /etc/apparmor.d/usr.sbin.ntpd

添加一行允许对相关文件进行读访问,例如。

/etc/ntp.leapseconds r,

保存文件然后重新加载 NTP 配置文件

sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.ntpd

为什么会发生这种情况?

NTP 具有监听网络套接字的功能,并且具有相当可预测的行为,因此 ubuntu 通常会为其发送一个 apparmor 配置文件并默认将其打开。

Apparmor 是一个 LSM(Linux 安全模块),它是一个额外的安全层,称为 MAC(强制访问控制),它是一种通过策略告诉应用程序可以访问和不能访问的内容的方式。它对访问权限拥有最终决定权,即使您 chmod 777 文件,如果策略说您无权访问该文件,内核也会拒绝访问。

您可以开始学习这里


相关内容