php-session-lifetime Permission denied seit Update

  • Hallo,


    seit einem Update auf die aktuelle LiveConfig-Version erhalte ich vom Cron Daemon folgende Meldungen:


    Code
    /usr/lib/liveconfig/php-session-lifetime: realpath(web1/conf/php7/php.ini) failed: Permission denied


    Die Datei /var/www/web1/conf/php7/php.ini existiert, Eigentümer root, Gruppe web1, Rechte 0644. Geändert habe ich weder etwas an den Rechten noch der Konfiguration.


    Debian GNU/Linux 10 (buster), LiveConfig 2.14.3.


    Ist das ein Fehler in LiveConfig?


    Viele Grüße
    Sphinx

  • Welche LiveConfig-Version lief denn vor dem Update?
    Ich bin mir aber ziemlich sicher, dass das Problem nicht mit dem LiveConfig-Update zusammenhängt. Die Scripte zum Löschen alter PHP-Session-Files sind schon ziemlich lange nicht mehr geändert worden.


    Der Aufruf des Scripts erfolgt durch /usr/lib/liveconfig/cron.php.sh - da gibt's auch nicht viel was schief gehen könnte.


    Am meisten wundert mich die Meldung "Permission denied". Wenn das Script als root ausgeführt wird, dann deutet das darauf hin dass vielleicht SELinux oder AppArmor aktiviert wurden und nicht passend konfiguriert sind.


    Viele Grüße


    -Klaus Keppler

  • 2.13.1-release lief vor dem Update.
    Laut Zeitstempel wurden die Scripte im Juli zuletzt geändert.


    Auch ein manueller Start des Scripts (als root) ergibt das gleiche Bild.


    Es sind weder SELinux noch AppArmor installiert/aktiviert.


    Viele Grüße
    Sphinx

  • Das Programm php-session-lifetime wechselt zur Sicherheit jeweils in den betroffenen User, bevor die php.ini verarbeitet wird.
    In diesem Fall wird also der User "web1" keine Leseberechtigung für die betroffene php.ini-Datei haben.


    Sie können z.B. mal als root mit "su -s /bin/bash web1" eine Shell mit dem Benutzer web1 starten und dann schauen, ob er in das betroffene Verzeichnis kommt.


    Viele Grüße


    -Klaus Keppler

  • Ja, dann prüfen Sie mal in welches der Verzeichnisse genau der web1 keinen Zugriff hat.
    Er braucht selbstverständlich Lesezugriff auf die php.ini, sonst kann PHP auch nicht sauber ausgeführt werden.
    Evtl. ist /var/www/web1/conf zu restriktiv eingestellt? (sollte www-data:<Vertrag> gehören und Mode 0750 haben)

  • Es scheitert schon am Verzeichnis /var/www/web1/conf.
    Ich habe an den Zugriffsrechten nichts geändert. Rechte waren root:<vertrag> und Mode 0750. Nach Änderung auf www-data läuft das Skript für den CronJob.
    Wie kann das passieren? Oder hat php-session-lifetime eine Änderung erfahren und war früher ohne Kontext des Benutzers?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!