即使禁用了crond_disable_trans,cron仍然可以执行SELinux

时间:2012-08-28 16:53:03

标签: linux cron crontab redhat selinux

我在执行模式下有一个带有SELinux的Red Hat 5:

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)'

我不明白为什么?

1 个答案:

答案 0 :(得分:0)

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

也可以通过pam提出限制。

我认为cronjobs应该始终在运行cron作业的用户的上下文中运行,如果crond_disable_trans设置为on,则SELinux强制执行,而如果crond_disable_trans设置为off,则crontabs不受上下文限制。但是,我可能是错的。 要获得最终答案,您可能需要联系您的Red Hat支持联系人。