gpt4 book ai didi

PHP 函数 is_executable 返回 false,即使该文件肯定是可执行的

转载 作者:行者123 更新时间:2023-12-02 01:21:12 26 4
gpt4 key购买 nike

我正在使用 PHP 5.3。

使用 getfacl 的文件权限是:

user::rwx
group::r-x
other::r-x

我在使用 PHP 的程序执行函数时也遇到了问题,http://www.php.net/manual/en/ref.exec.php

有问题的程序是 wkhtmltopdf,我把它放在我的/usr/bin 目录中。

我的/usr/bin 目录中有转换程序,具有完全相同的权限,并且 is_executable 函数返回 true。

最佳答案

对我来说,答案是创建一个策略模块以允许 wkhtmltopdf 在不禁用 SELinux 的情况下运行:

  1. sudo su -(以 root 身份运行以简化后续步骤)
  2. tail -F/var/log/audit.log | grep wkhtml > wkhtml.audit (离开此运行并继续下一步)
  3. 尝试加载试图创建 pdf 的网页,它会像以前一样失败,但现在我们日志记录。
  4. CTRL+C 从第 2 步停止进程 (如果在很着急,但强烈建议您在制作之前使用这些检查步骤selinux 异常永久!)
  5. cat wkhtml.audit | audit2allow -m
    wkhtmltopdf > wkhtmltopdf.te
  6. 查看 wkhtmltopdf.te 文件以确保新规则是明智的。你可能会看到“允许httpd_t self:process execmem”和可能的“allow httpd_t var_t:file阅读”取决于您的设置
  7. cat wkhtml.audit | audit2allow -M
    wkhtmltopdf
  8. semodule -i wkhtmltopdf.pp(可能需要一分钟,耐心点)

您现在应该能够无错误地加载创建 pdf 的页面。如果没有,我们可能已经解决了一个问题并遇到了另一个问题——可能需要重复这些步骤。这次尾部到 wkhtml.audit2 并在制作新模块时将其与原始模块一起使用(否则您将撤消第一个修复!):

tail -F ...> wkhtml.audit2

如果audit2为空,则存在非selinux问题。否则:

cat wkhtml.audit wkhtml.audit2 | audit2allow ...

关于PHP 函数 is_executable 返回 false,即使该文件肯定是可执行的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4216596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com