“如何修复”;没有SELinux安全上下文(/etc/crontab)";问题

“如何修复”;没有SELinux安全上下文(/etc/crontab)";问题,cron,yocto,selinux,Cron,Yocto,Selinux,我已经在我的yocto项目(warrior分支)中启用了SELinux,但是由于某些SELinux上下文不可用,cron无法运行。我正在使用最小值SELinux策略。以下是来自/var/log/messages Oct 9 04:50:01 panther2 cron.info crond[261]: ((null)) No SELinux security context (/etc/crontab) Oct 9 04:50:01 panther2 cron.info cr

我已经在我的yocto项目(warrior分支)中启用了SELinux,但是由于某些SELinux上下文不可用,
cron
无法运行。我正在使用
最小值
SELinux策略。以下是来自
/var/log/messages

Oct  9 04:50:01 panther2 cron.info crond[261]: ((null)) No SELinux security context (/etc/crontab)        
Oct  9 04:50:01 panther2 cron.info crond[261]: (root) FAILED (loading cron table)                       
以下是相关文件的一些上下文

root@panther2:~# ps -efZ | grep cron
system_u:system_r:kernel_t:s0   root       464     1  0 04:54 ?    00:00:00 /usr/sbin/crond -n

root@panther2:~# ls -lZ /etc/crontab 
-rw-------. 1 root root system_u:object_r:unconfined_t:s0 653 Oct  9  2019 /etc/crontab

root@panther2:~# ls -lZ /usr/sbin/crond 
-rwxr-xr-x. 1 root root system_u:object_r:unlabeled_t:s0 68160 Oct  9  2019 /usr/sbin/crond

有什么帮助吗?谢谢

unconfined\t是一种与活动实体(流程)关联的类型。您将其与/etc/crontab相关联,后者是一个被动实体(文件)。进程做事情,因此需要权限。对象(被动实体)由主动实体操作,因此与文件关联的类型通常没有与其关联的权限,但与文件系统关联的权限除外(如果适用)

unlabeled_t表示/usr/sbin/crond有一个无效的或根本没有与之关联的标签

Cron支持SELinux。Cron代表系统或用户(使用pam_selinux)运行任务。这些任务通常使用与crond自身上下文相关联的权限不同的权限运行。Crond通过查看crontab的标签(/ett/crontab是系统任务的crontab),然后使用该标签确定使用libselinux API运行任务的上下文,从而尝试确定运行给定任务的上下文。它确定与crontab关联的类型是否可用于运行具有给定上下文的任务,然后确定它是否具有使用给定上下文运行任务的权限

在上面的例子中,crond确定(在SELinux API的帮助下)与系统crontab(/etc/crontab)关联的上下文不能用于使用它想要运行任务的上下文运行任务

您需要确保与/etc/crontab关联的上下文是有效的,并且它可以用作您希望crond运行任务的上下文的入口点


如果需要示例,请查看引用策略附带的cron策略和cron上下文配置文件。

unconfined\t是一种与活动实体(进程)关联的类型。您将其与/etc/crontab相关联,后者是一个被动实体(文件)。进程做事情,因此需要权限。对象(被动实体)由主动实体操作,因此与文件关联的类型通常没有与其关联的权限,但与文件系统关联的权限除外(如果适用)

unlabeled_t表示/usr/sbin/crond有一个无效的或根本没有与之关联的标签

Cron支持SELinux。Cron代表系统或用户(使用pam_selinux)运行任务。这些任务通常使用与crond自身上下文相关联的权限不同的权限运行。Crond通过查看crontab的标签(/ett/crontab是系统任务的crontab),然后使用该标签确定使用libselinux API运行任务的上下文,从而尝试确定运行给定任务的上下文。它确定与crontab关联的类型是否可用于运行具有给定上下文的任务,然后确定它是否具有使用给定上下文运行任务的权限

在上面的例子中,crond确定(在SELinux API的帮助下)与系统crontab(/etc/crontab)关联的上下文不能用于使用它想要运行任务的上下文运行任务

您需要确保与/etc/crontab关联的上下文是有效的,并且它可以用作您希望crond运行任务的上下文的入口点

如果需要示例,请查看引用策略附带的cron策略和cron上下文配置文件。

这似乎是一个bug(),但找不到正确的修复。这似乎是一个bug(),但找不到正确的修复。