【问题标题】:cron works with enforcing SELinux even if crond_disable_trans is disabled即使 crond_disable_trans 被禁用,cron 也可以强制执行 SELinux
【发布时间】:2012-08-23 05:43:09
【问题描述】:

我有一个带有 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)'

我不明白为什么?

【问题讨论】:

    标签: linux cron crontab redhat selinux


    【解决方案1】:

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

    也可以通过 pam 设置限制。

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

    【讨论】:

      猜你喜欢
      • 2019-06-01
      • 2011-10-26
      • 1970-01-01
      • 2017-04-01
      • 2020-09-06
      • 2014-03-12
      • 2023-02-16
      • 2020-05-13
      • 1970-01-01
      相关资源
      最近更新 更多