PHP hat keine Leserechte auf /dev/urandom

  • Hallo,


    ich habe bei mir auf dem Server, bei verschiedenen Kunden/Domains noch OwnCloud installiert.

    Mir ist nun aufgefallen, dass OwnCloud meckert und folgende Warnung/Fehlermeldung ausgibt "...PHP hat keine Leserechte auf /dev/urandom...". Vermutlich kam dieser Fehler seit dem letzten PHP Update rein, oder seit ich den PHP Switcher intstalliert haben.

    Mit dem PHP-Switcher kann ich switchen den Versionen 5.6 / 7.0 und 7.1 wechseln. Meine OwnCloud-Domainds laufen jedoch alle unter der Version 7.1


    Wenn ich mir das PHP Info der 7.1er Version anschauen, dann ist der open_basedir String leer (no value).

    Ich meine da müsste doch das Verszeichnis /dev/urandom dann eingetragen sein, oder?

    Falls ja, wo genau finde ich denn die 'MAster' Php.ini, welche dann nicht von iMSCP beim nächsten Update überschrieben wird?


    Vielen Dank

    Gruß

    Funnymob



    Debian 9

    PHP 7.1.33

    iMSCP 1.5.3

    PHP-Switcher 5.05

  • Du solltest dieses Listener benutzen: https://github.com/i-MSCP/imsc…p_confoptions_override.pl


    Dann du kannst für jedes domain so konfigurieren:

    Code
    1. ...
    2. '*' => { # Any PHP configuration option added here will apply globally (to all domains).
    3. 'open_basedir' => '{HOME_DIR}/:/usr/share/php/:/dev/random:/dev/urandom:/usr/bin/animate:/usr/bin/compare:/usr/bin/composite:/usr/bin/conjure:/usr/bin/convert:/usr/bin/display:/usr/bin/identify:/usr/bin/import:/usr/bin/mogrify:/usr/bin/montage:/usr/bin/stream:/usr/bin/gm'
    4. },
    5. ...


    Gruss Kess

  • Hallo Kees,


    vielen Dank für die Info.

    Wenn ich das richtig verstehe, dann muss ich lediglich in der .pl Datei den Bereich '...my %CONFIG_OPTIONS = (...' anpassen und die Datei ausführen, oder?

    Muss die pl. Datei in einem speziellen Verzeichnis ausgeführt werden?


    Muss ich nach der Anpassung noch einen Service neustarten um die Änderungen in der php.ini zu sehen?


    Vielen Dank

    Gruß

    Funnymob

  • Datei 10_php_confoptions_override.pl muss in /etc/imscp/listeners.d/ sein

    Wenn du fertig mit editing von 10_php_confoptions_override.pl bist, einfach ausführen:

    Code
    1. perl /var/www/imscp/engine/setup/imscp-reconfigure -danv

    Gruss Kess

  • Hallo,


    hier kurz ein Feedback.

    Nachdem ich das perl Skript "perl /var/www/imscp/engine/setup/imscp-reconfigure -danv" ausgeführt hatte, ging merkwürdigerweise erstmal garnichts mehr - obwohl ich nur DEBUG-Infos gesehen und keine Warnungen oder Errors bekommen hatte.

    Ich hab dann einfach nochmals imscp-reconfig komplett durchlaufen lassen "perl /var/www/imscp/engine/setup/imscp-reconfigure" und nun scheint alles so zu laufen wie gewünscht.


    Zumindest bekomme ich die Fehlermeldung bei OwnCloud nicht mehr -> somit müsste es ja funktionieren.


    Merkwürde finde ich nur, dass wenn ich im iMSCP-Adminpanel unter Einstellungen -> PHP-Switcher die PHP-Info der Version 7.1 anschauen, dann ist hier der Open_Basedir noch immer 'leer'??


    Vielen Dank

    Gruß