闰秒文件:权限被拒绝

Aur*_*lle 3 permissions ntp

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

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
Run Code Online (Sandbox Code Playgroud)

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

知道为什么会发生这种情况,我该如何解决?

squ*_*org 5

我不知道 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 一个文件,如果策略说您无权访问该文件,内核也会拒绝访问。

你可以从这里开始学习