Hallo zusammen,
folgende Situation: Auf einem Linux-Server laufen mehrere LXC-Container (separate Container für Mailserver, Webserver, XMPP-Server, und so weiter). Grundsätzlich läuft alles problemlos und stabil.
Der Webserver-Container ist ein unpriviligierter LXC-Container, hier laufen nginx
und php-fpm
.
Auch das funktioniert ohne Schwierigkeiten.
Nun möchte ich gerne php-fpm
in einer chroot-Umgebung laufen lassen. Das chroot-Verzeichnis soll lauten: /var/www/nextcloud
Die notwendigen Anpassungen an den Konfigurationsdateien sind soweit klar.
Nun zu meinem Problem:
Damit alles funktioniert, benötigt PHP Zugriff auf diverse Dateien oder Verzeichnisse, die nicht in dem chroot-Verzeichnis liegen.
Beispiel: /dev/urandom
Um auf /dev/urandom
zugreifen zu können, verwende ich diese Befehle:
# Verzeichnis anlegen, falls nicht vorhanden mkdir -p /var/www/nextcloud/dev touch /var/www/nextcloud/dev/urandom mount --bind -o ro /dev/urandom /var/www/nextcloud/dev/urandom
Dann erhalte ich jedoch diese Fehlermeldung:
mount: /var/www/nextcloud/dev/urandom: filesystem was mounted, but any subsequent operation failed: Unknown error 5005.
Dieses Problem tritt nur bei Dateien auf, die unterhalb von /dev
liegen, also /dev/null
, /dev/random
, /dev/urandom
, /dev/zero
.
Bei anderen Dateien (oder Verzeichnissen), z.B. /run/mysqld
oder /etc/resolv.conf
, funktioniert alles problemlos.
Hat einer von Euch eine Idee? Vielen Dank im Voraus.
Liebe Grüße,
frechdachs