Wieso legt Shopware var/cache/*/templates/ und Directories in media/ mit umask 022 statt 002 an?

Hallo,

auf meinem Server habe ich dem Verzeichnis var/cache/development… und allen Unterverzeichnissen von media mit setfacl folgende Access Control List (ACL) zugewiesen, damit ich Verzeichnisse und Dateien, die von Shopware erzeugt werden, mit meinem Linux-User namens admin löschen kann.

# owner: admin
# group: admin
user::rwx
user:www-data:rwx
group::rwx
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:group::rwx
default:mask::rwx
default:other::---

Im var/cache/development… erzeugt Shopware dann Unterverzeichnisse mit folgenden FileSystem-Permissions:

drwxrwx---+ 4 www-data www-data 39 Jun 6 13:01 doctrine
drwxrwx---+ 2 www-data www-data 6 Jun 6 13:01 general
drwxrwx---+ 2 www-data www-data 6 Jun 6 13:01 html
drwxrwx---+ 3 www-data www-data 24 Jun 6 13:01 mpdf
drwxrwx---+ 2 www-data www-data 4096 Jun 6 13:02 proxies
drwxr-x---+ 4 www-data www-data 73 Jun 6 13:02 templates

Wieso unterscheiden sich die Dateisystem-Rechte des Ordners templates? Entsprechend kann ich in templates enthaltene Verzeichnisse und Dateien eben nicht mit meinem Linux-User löschen. Betroffen sind auch alle Ordner, die Shopware irgendwo unterhalb von var/cache/*/general/ und media/ anlegt.

Ich bedanke mich für jegliches Feedback!

Eigentlich abhängig von der Umask: 

Im Regelfall reicht auch 755 bei korrekter User- und Gruppendefinition. 

Umask habe ich nirgends explizit konfiguriert. Müssten dann nicht die anderen Verzeichnisse dieselben Rechte haben?

Nun habe ich in der Datei config.php folgende erste Zeile und damit funktioniert alles wie gewünscht.

?php umask(0002);

drwxrwx—+ 4 www-data www-data 4096 Jun  6 13:49 doctrine
drwxrwx—+ 5 www-data www-data 4096 Jun  6 13:49 general
drwxrwx—+ 2 www-data www-data 4096 Jun  6 13:49 html
drwxrwx—+ 3 www-data www-data 4096 Jun  6 13:49 mpdf
drwxrwx—+ 2 www-data www-data 4096 Jun  6 13:49 proxies
drwxrwx—+ 3 www-data www-data 4096 Jun  6 13:49 templates

Mit umask(0000) oder umask(0007) funktioniert ebenfalls alles wie gewünscht.

Mit umask(0077); testweise bekomme ich diese Verzeichnisrechte:

drwxrwx—+ 4 www-data www-data 4096 Jun  6 13:49 doctrine
drwxrwx—+ 5 www-data www-data 4096 Jun  6 13:49 general
drwxrwx—+ 2 www-data www-data 4096 Jun  6 13:49 html
drwxrwx—+ 3 www-data www-data 4096 Jun  6 13:49 mpdf
drwxrwx—+ 2 www-data www-data 4096 Jun  6 13:49 proxies
drwx------+ 3 www-data www-data 4096 Jun  6 13:49 templates

Das Setting wirkt sich also offensichtlich nur auf den Ordner templates sowie alle Ordner in var/cache/*/general und media aus.