【问题标题】:Selinux blocks the crontab command from phpSelinux 阻止来自 php 的 crontab 命令
【发布时间】:2017-03-23 18:53:33
【问题描述】:

我们的服务器上有 Fedora 25 和 apache。
我想这样做是为了让我们网站上的 php 脚本可以更改 crontab 设置。

我创建了以下测试 php 脚本:

<?php
system("echo '*/2 * * * * date > /var/www/logs/testlog.txt' | crontab - 2>&1");

但它没有工作。我收到了消息:

/var/spool/cron/#tmp.mh203-95.XXXXG0KrFF:权限被拒绝

我查看了sealert -a /var/log/audit/audit.log 的输出 发现:

SELinux 正在阻止 crontab 对目录 /var/spool/cron 进行写访问。

好的。听起来apache不允许对/var/spool/cron进行写访问,因为该目录没有httpd_sys_rw_content_t label。 所以我执行了命令: chcon -v -R -t httpd_sys_rw_content_t /var/spool/cron

我的 php 脚本开始工作了。 crontab -l 命令给出了正常的输出。
但新的问题出现了。 :( cron 任务没有执行。

在 /var/log/cron 我看到了错误:

Mar 23 18:05:01 mh203-95 crond[1653]: (apache) Unauthorized SELinux context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 file_context=system_u:object_r:httpd_sys_rw_content_t:s0 (/var/spool/cron/apache)
Mar 23 18:05:01 mh203-95 crond[1653]: (apache) FAILED (loading cron table)

经过多次研究...我发现 /var/spool/cron 必须有user_cron_spool_t 标签。所以我执行了:chcon -v -R -t user_cron_spool_t /var/spool/cron

cron 任务开始工作。但是我的 php 脚本不再起作用了。和一开始一样的问题。

sealert 建议的命令如下:
ausearch -c 'crontab' --raw | audit2allow -M my-crontab
semodule -X 300 -i my-crontab.pp
但这并没有帮助。

我错过了什么? 如何解决问题? 我可以以某种方式将 user_cron_spool_thttpd_sys_rw_content_t 两个标签组合为 /var/spool/cron directory 吗?

【问题讨论】:

标签: php apache cron selinux fedora-25


【解决方案1】:

我已经解决了这个问题。

原因在于:sealert 在所有建议的命令中生成相同的政治名称 my-crontab。新政压倒旧政。
只需稍微更改此名称即可。

所以我执行了:

ausearch -c 'crontab' --raw | audit2allow -M my-crontab
semodule -X 300 -i my-crontab.pp

ausearch -c 'crontab' --raw | audit2allow -M my-crontab2
semodule -X 300 -i my-crontab2.pp

ausearch -c 'crontab' --raw | audit2allow -M my-crontab3
semodule -X 300 -i my-crontab3.pp
...

在每次 ausearch 之前...我执行了:
echo -n "" > /var/log/audit/audit.log
我的 php 脚本。
sealert -a /var/log/audit/audit.log

【讨论】:

    猜你喜欢
    • 2021-08-05
    • 1970-01-01
    • 2011-01-14
    • 2015-04-29
    • 2019-10-26
    • 2017-08-05
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多