/dev/urandom bleibt trotz Eintrag in open_basedir nicht lesbar

Gestern war wieder so ein Tag wo man am besten die Tastatur gar nicht angefasst hätte.
Verzweifelt habe ich 2 Stunden lang nach dem Fehler gesucht, warum Nextcloud sagt es könne nich auf /dev/urandom zugreifen.
Die Fehlermeldung im Frontend:

/dev/urandom ist für PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu findest Du in unserer Dokumentation.

Die Konfiguration des Apache vHosts lautete:

/etc/apache2/sites-available/nextcloud.confServerName files.example.com
Serveralias files.example.com
 
DocumentRoot /var/www/files.example.com/html/
php_admin_value open_basedir /var/www/files.example.com/:/dev/urandom/:/tmp/:/proc/meminfo/
 
php_admin_value file_uploads 1
php_admin_value upload_tmp_dir /var/www/files.example.com/phptmp/
 
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
</IfModule>

Ich habe die Konfiguration immer und immer wieder angesehen und den Fehler nicht gefunden. Erst als ich irgendwo zufällig das Wort „Datei“ las, musste ich mir an den Kopf fassen. Ich hatte in der Konfiguration statt:

/dev/urandom

versehentlich

/dev/urandom/

angegeben. Da /dev/urandom eine Datei und kein Ordner ist meckerte PHP natürlich zu Recht über fehlende Rechte. Es ist zwar unwahrscheinlich, dass jemand diesen Beitrag bei der Vielzahl von open_basedir Artikel findet UND dann auch noch den gleichen Fehler macht wie ich, aber ich halte das lieber hier mal fest.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.