Raketenwilli: Apache darf nicht auf /tmp zugreifen - jetzt weiß ich warum

Beitrag lesen

Moin!

Kurze Zusammenfassung.
Mein Apache soll bei Aufruf eines php Scripts Daten aus /tmp lesen - und kann es nicht. Ich habe alles mögliche versucht, file permissions gesetzt und auch open_basedir angepasst und so weiter. Wollte als Aufruf per Web einfach nicht funktionieren. In der Shell gestartet gehts, mit selbem User.

Inzwischen habe ich eine Erklärung gefunden. Hier

Das ist eine Möglichkeit. Vor der Nutzung von systemd wurden andere dafür genutzt. Hintergund ist, dass in /tmp/ nicht nur Benutzer Zeug ablegen sondern auch Prozesse. Und da die umask in den meisten Linuxen ein Default von 022 hat haben neu angelegte Dateien und Verzeichnisse oft eine eher ungünstige Rechteverteilung: 0644/0755. Da einen Apache mit Software aus merkwüdigen Quellen (Beispiel: Wordpress+Plugins) drauf zugreifen zu lassen ist wie die Grenze zu Russland von Gartenzwergen bewachen zu lassen.

Eine der Verteidigungslinien ist es eben, den Apache nicht an das /tmp - Dir zu lassen.

aber /tmp klingt leider sehr verlockend für eine Ramdisk.

Nur bis ein Programm dort mal richtig viele Daten ablegen will. Überlasse die Deine Hoffnung auf Geschwindigkeit lieber dem Schreib/Lese-Cache. Auch ist eine SSD an einem USB/SATA-Adapter am Raspi immer noch schneller als eine Speicherkarte, die zudem auch gerne mal schon nach „wenigen“ Schreibprozessen stirbt - was wohl Dein Motiv für die RamDisk ist.

Soll heißen: Benutze den Raspi mit einer SSD. Lass das mit der RamDisk.