Hallo zusammen,
ich habe eine Anwendung, die basierend auf LibreOffice-Dateien
letztendlich PDFs erzeugt und das alles vollkommen automatisch. Daten
kommen von irgendwo, werden per ODT verarbeitender Lib in die Vorlagen
eingearbeitet und LibreOffice erzeugt aus dem Ergebnis dann ein PDF.
Der entscheidende Punkt ist, dass diese Software durch verschiedene
andere Software getriggert und optional auch in verschiedenen
Benutzerkontexten ausgeführt wird, z.B. "www-data" oder "tomcat7". Aus
Gründen der Performance kommt eine bestimmte Verzeichnisstruktur zum
Einsatz, so dass das von LO benötigte Profilverzeichnis nur einmal
angelegt werden muss und so. Um Themen wie Locking, dass das Profil
nur durch eine Instanz genutzt wird etc., kümmert sich meine
Anwendung und das funktioniert auch alles. Die letztendlich
ausgeführte Kommandozeile ist ungefähr folgende:
soffice "-env:UserInstallation=..." --headless --convert-to "..." --outdir "..." "..."
Das Problem ist nun, dass LO anscheinend bestimmte Rechte willkürlich
neu setzt und mir damit unnötige Probleme macht. Im folgenden Beispiel
ist der Ordner "10" das, was als "UserInstallation" konfiguriert und
von meiner Anwendung angelegt wird. Um Rechte usw. kümmere ich mich
außerhalb der Anwendung und das würde auch funktionieren, wenn die
nicht geändert werden würden:
drwxrwsr-x 2 www-data www-data 4096 Dez 14 11:12 10
vs.
drwx------ 4 www-data www-data 4096 Dez 14 11:13 10
Die erste Zeile ist nachdem meine Anwendung den Ordner angelegt hat,
die zweite, nachdem LO erfolgreich ausgeführt wurde. Der Witz an der
Sache ist, dass der Großteil der von LO in "10" angelegten Dateien und
Ordner von LO in Ruhe gelassen wird, nur ein paar Ausnahmen eben
nicht. Per "iWatch" kann ich auch sehen, dass jemand den Ordner
bewusst ändert:
[14/Dez/2017 13:15:14] IN_ISDIR,IN_ATTRIB /tmp/lo_instances/referenz/lo_work_dirs/10
LO kümmert sich aber eben nur um sehr wenige Ordner:
10:
drwxr-xr-x 3 www-data www-data 4096 Dez 14 13:15 .cache
drwxrwsr-x 11 www-data www-data 4096 Dez 14 13:15 user
10/.cache:
drwxr-xr-x 2 www-data www-data 4096 Dez 14 13:15 fontconfig
10/.cache/fontconfig:
-rw-rw-r-- 1 www-data www-data 120 Dez 14 13:15 158c65c810c0d352a587f5be66058e87-le64.cache-4
-rw-r--r-- 1 www-data www-data 200 Dez 14 13:15 CACHEDIR.TAG
10/user:
drwxrwsr-x 2 www-data www-data 4096 Dez 14 13:15 autocorr
drwxrwsr-x 2 www-data www-data 4096 Dez 14 13:15 autotext
drwxrwsr-x 3 www-data www-data 4096 Dez 14 13:15 basic
drwxrwsr-x 3 www-data www-data 4096 Dez 14 13:15 config
drwxrwsr-x 3 www-data www-data 4096 Dez 14 13:15 database
drwxrwsr-x 5 www-data www-data 4096 Dez 14 13:15 extensions
drwxrwsr-x 2 www-data www-data 4096 Dez 14 13:15 gallery
drwxrwsr-x 2 www-data www-data 4096 Dez 14 13:15 psprint
-rw------- 1 www-data www-data 6892 Dez 14 13:15 registrymodifications.xcu
drwxrwsr-x 3 www-data www-data 4096 Dez 14 13:15 uno_packages
Wie man sehen kann, werden die Rechte von manchen Dateien und Ordnern
willkürlich neu gesetzt, die meisten entsprechen aber meinen Vorgaben
aus dem Dateisystem.
Hat einer eine Ahnung, wie ich LO dazu bringen kann, die Finger von
den Rechten zu lassen? Gibt es irgendeine Konfiguration, irgendein
Argument auf der Shell oder so? Lohnt es sich, dazu einen Bugreport zu
schreiben?
Ich habe noch nicht mal die entsprechenden Codeabschnitte gefunden,
vielleicht sind das auch irgendwelche Anpassungen der Distribution.
Linux ... 4.4.0-34-generic #53~14.04.1-Ubuntu ...
LibreOffice 4.2.8.2 420m0(Build:2)
Vielen Dank für eure Hinweise!
Mit freundlichen Grüßen,
Thorsten Schöning