linux - 即使 crond_disable_trans 被禁用,cron 也可以强制执行 SELinux

标签 linux cron redhat selinux

我有一个 Red Hat 5,SELinux 处于强制模式:

SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          enforcing
Policy version:                 21
Policy from config file:        targeted

即使 crond_disable_trans 被禁用:

[root@rhel5_1 sf_personal]# getsebool -a|grep crond
crond_disable_trans --> off
fcron_crond --> off

但 crond 适用于任何用户。

[root@rhel5_1 sf_personal]# crontab -u user01 -l
* * * * * /usr/bin/wall Ciao

这是审核日志文件

type=USER_ACCT msg=audit(1346167741.137:35): user pid=2653 uid=0 auid=4294967295 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: accounting acct="root" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'
type=CRED_ACQ msg=audit(1346167741.142:36): user pid=2653 uid=0 auid=4294967295 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: setcred acct="root" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'
type=USER_ACCT msg=audit(1346167741.144:37): user pid=2654 uid=0 auid=4294967295 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: accounting acct="user01" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'
type=CRED_ACQ msg=audit(1346167741.144:38): user pid=2654 uid=0 auid=4294967295 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: setcred acct="user01" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'
type=LOGIN msg=audit(1346167741.144:39): login pid=2653 uid=0 old auid=4294967295 new auid=0 old ses=4294967295 new ses=6
type=LOGIN msg=audit(1346167741.146:40): login pid=2654 uid=0 old auid=4294967295 new auid=502 old ses=4294967295 new ses=7
type=USER_START msg=audit(1346167741.150:41): user pid=2653 uid=0 auid=0 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: session open acct="root" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'
type=CRED_DISP msg=audit(1346167741.153:42): user pid=2653 uid=0 auid=0 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: setcred acct="root" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'
type=USER_END msg=audit(1346167741.153:43): user pid=2653 uid=0 auid=0 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: session close acct="root" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'
type=USER_START msg=audit(1346167741.154:44): user pid=2654 uid=0 auid=502 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='PAM: session open acct="user01" : exe="/usr/sbin/crond" (hostname=?, addr=?, terminal=cron res=success)'

我不明白为什么?

最佳答案

如果您想允许/禁止某些用户执行 cron,您应该使用 cron.deny 和 cron.allow 文件。

也可以通过 pam 施加限制。

我认为 cronjobs 应该始终在运行 cron 作业的用户上下文中运行,并且 SELinux 会强制执行(如果 crond_disable_trans 设置为 on),而如果 crond_disable_trans 设置为 off,则 crontabs 将不受上下文限制。然而,我可能是错的。 要获得此问题的最终答案,您可能需要联系您的红帽支持联系人。

关于linux - 即使 crond_disable_trans 被禁用,cron 也可以强制执行 SELinux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12163957/

相关文章:

linux合并两个文件不重复

python - 使用 cron 作业检查 python 脚本是否正在运行

linux - 我的 cron 作业运行了几次

redhat - 如何在 RHEL 上更新 git 版本?

linux - 使用 pkg-config 找不到错误 : dav1d >= 0. 2.1

php - 通过 php "exec"挂载时出错

linux - 运行 `docker version` 时未返回 Docker 服务器端信息

Cron 表达式 - 每天两个不同的时间 (13 :30 and 17:40)?

c++ - 'grp' 未在此范围内声明,

mysql - OpenShift 无法访问 MySQL 服务器