Für mich bestand die Antwort darin, ein Richtlinienmodul zu erstellen, damit wkhtmltopdf ohne ausgeführt werden konnte deaktivieren SELinux:
sudo su -
(als root laufen die nächsten Schritte einfacher zu machen)
tail -F /var/log/audit.log | grep wkhtml > wkhtml.audit
(lassen dieses Lauf und weiter zum nächsten Schritt)
- try Ihre Web-Seite zu laden, die eine erstellen versucht pdf, es wird wie bisher versagen, aber jetzt sind wir Protokollierung.
- STRG + C, um den Prozess von Schritt 2 zu stoppen (kann bis 7, wenn in Eile, überspringen, aber es wird dringend empfohlen, dass Sie diese Kritik Schritte aus, bevor selinux Ausnahmen permanent zu machen!)
cat wkhtml.audit | audit2allow -m wkhtmltopdf > wkhtmltopdf.te
- Überprüfen Sie die wkhtmltopdf.te-Datei auf stellen Sie sicher, dass neue Regeln sinnvoll sind. und möglicherweise "httpd_t var_t erlauben: Datei lesen": Sie wahrscheinlich "Prozess execmem erlauben httpd_t Selbst" sehen
cat wkhtml.audit | audit2allow -M wkhtmltopdf
semodule -i wkhtmltopdf.pp
(vielleicht eine Minute dauern, Geduld)
je nach Setup
Sie sollten nun in der Lage sein, die PDF-Erstellungsseite fehlerfrei zu laden. Wenn nicht, haben wir wahrscheinlich ein Problem behoben und sind zu einem anderen gekommen - müssen möglicherweise Schritte wiederholen. Tail wkhtml.audit2 diese Zeit und Katze es mit dem Original, wenn ein neues Modul zu machen (oder sonst werden Sie erste Fix werden rückgängig gemacht!):
tail -F ... > wkhtml.audit2
wenn audit2 leer ist, gibt es eine nicht Selinux Problem. ansonsten:
cat wkhtml.audit wkhtml.audit2 | audit2allow ...
Können Sie den genauen Code bereitzustellen, der false zurückgibt? – Mikhail
Hat 'is_file ($ file)' auf die eine, die nicht ausführbar kehrt wahr ?, vielleicht haben Sie den Namen ... – acm