这些 cron 文件的安全上下文应该是什么?

这些 cron 文件的安全上下文应该是什么?

我正在运行 Fedora 20,在运行 logrotate 和 anacron 时遇到一些问题,我怀疑这可能与 SELinux 有关:

Failed to determine timestamp: Cannot assign requested address
chgrp: changing group of /var/log/mariadb: Permission denied

我做了一些研究并发现了这篇文章Gentoo 维基内容如下:

如果要使用 cronjobs 执行系统管理任务,则需要特别注意运行作业的域具有足够的权限。

首先,确保您的 cronjobs 在 system_cronjob_t 域中运行。这意味着 cronjobs 必须定义为

scripts in the /etc/cron.hourly, /etc/cron.daily, ... directories
crontab entries in the /etc/cron.d directory
crontab entries in the /etc/crontab file

检查我的 SELinux 默认策略后发现我有以下策略:

/etc/cron.daily(/.*)?    all files      system_u:object_r:bin_t:s0 
/etc/cron.hourly(/.*)?   all files      system_u:object_r:bin_t:s0 
/etc/cron.monthly(/.*)?  all files      system_u:object_r:bin_t:s0 
/etc/cron.weekly(/.*)?   all files      system_u:object_r:bin_t:s0 
/etc/cron\.d(/.*)?       all files      system_u:object_r:system_cron_spool_t:s0 
/etc/crontab             regular file   system_u:object_r:system_cron_spool_t:s0

我是否应该更改 SELinux 策略,以便将它们system_cronjob_t作为上下文标签?

答案1

看起来应该是这样的:

来自 selinux-policy-3.12.1-139 的变更日志:

- 允许通过 bin_t 输入 systemd_cronjob_t

/var/log/audit/audit.log你有关于 的错误吗mariadb?快速简单的检查是setenforce=0运行您的cron作业。如果它们表现得更好,那么问题就是 SELinux 造成的。

相关内容