Setzt LibreOffice unter Linux Rechte für Benutzerdaten neu?

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

Hallo Thorsten,

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)

Ich würde zuerst einmal probieren, ob die Pakete direkt von LO dasselbe
Verhalten an den Tag legen. Deine Pakte stammen von der Build-ID her von
Ubuntu. Da können Anpassungen drin sein, die in den Paketen von LO
selbst nicht vorhanden sind.

Vielleicht gibt es unter
Optionen > LibreOffice > Erweitert > Experteneinstellungen
irgendetwas, das diese Rechte beeinflusst. Dazu kann ich aber nichts
sagen, da ich mit den Nutzerrechten hier bisher nicht weiter Probleme
gehabt habe (ebenfalls Linux, allerdings OpenSUSE mit *.rpm-Paketen)

Gruß

Robert

Guten Tag Thorsten Schöning,

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?

Hallo,

ich hatte einen Denkfehler und hab mich zu sehr auf den "10"-Ordner
aus meinem Beispiel konzentriert: Den lege ich an und die Rechte von
diesem werden von LO anscheinend auch nachträglich geändert, denn ohne
die Ausführung von LO sind sie einfach anders.

ABER: Die ganzen anderen Ordner werden von LO ja erst angelegt und
dabei wiederum kommen einfach unterschiedliche Rechte zum Einsatz.[1]
Es ist also nicht so, dass die Ordner alle gleichermaßen mit den
richtigen Rechten von "10" angelegt und manche dann nachträglich
geändert werden, sondern LO verhält sich für manche Ordner einfach
speziell und vergibt eigene Standardrechte. Das erklärt auch die
Unterschiede bei einzelnen Dateien, teilweise werden von LO einfach
unpassende Rechte vergeben.

Ich habe also einmal das Problem, dass für den Hauptordner selbst
tatsächlich die Rechte geändert werden und ich ziemlich sicher bin,
dass das nur LO sein kann.

Andererseits hätte ich aber auch gern Einfluss darüber, welche Rechte
LO für die neuen Ordner und Dateien vergibt, bei denen es selbst der
Meinung ist, bestimmte Rechte zuzuweisen. Dann kann ich LO nämlich
sagen, es soll das lassen oder so.

[1]: https://bugs.documentfoundation.org/show_bug.cgi?id=56284

Mit freundlichen Grüßen,

Thorsten Schöning

Hallo,

Das Problem ist nun, dass LO anscheinend bestimmte Rechte willkürlich
neu setzt und mir damit unnötige Probleme macht.

etwas ähnliches habe ich mit dem Texteditor kate, den ich u.a. benutze, um Scripte in /usr/local/bin zu bearbeiten. Dabei sind die Eigentümer als root:users gesetzt (nur root soll ändern dürfen, root und users dürfen ausführen). Nach der Bearbeitung mit kate sind die Eigentümer stets root:root, so dass die Scripte nicht mehr für users ausführbar sind. Bislang habe ich noch keinen anderen Weg gefunden, als die Eigentümer im Nachgang manuell mit chown zu korrigieren.

Im ersten Anlauf erkläre ich es mir so, dass beim Speichern die Datei nicht geändert, sondern neu geschrieben wird; soweit eine Sicherung konfiguriert ist, wird die "Nutzdatei" einfach umbenannt und anschließend neu angelegt und geschrieben. Dadurch behält die Sicherungsdatei (so vorhanden) die Eigentümer- und Rechteeinstellungen, während die neu angelegte Datei sich nicht daran orientiert, sondern an wasweißich -so richtig habe ich das auch noch nicht herausbekommen.

Auch bei mir gibt es mit ganz normalen Dateien in den /home Verzeichnissen gelegentlich Probleme, bspw. wenn ein Datenabgleich (hier automatisch bei jedem An- und Abmelden) im User-Kontext erfolgt. Hat bspw. ein anderer Nutzer eine Datei erzeugt oder bearbeitet, und sind dabei solche Rechteverschiebungen aufgetreten, kann eine betroffene Datei u.U. nicht geschrieben werden, der Abgleich schlägt fehl. Dabei betrifft es nicht nur LibreOffice-Dateien, sondern alle möglichen. Deshalb bin ich dazu übergegangen, dem Datenabgleich ein entsprechendes Script voranzustellen, etwa so:

chmod -R u+r,u+w,g+r,g+w,o-r,o-w,o-x /home/groups/*
chown -R :immobilien /home/groups/immobilien
chown -R :finanzen /home/groups/banken-versicherungen
chown -R :finanzen /home/groups/steuer
find /home/groups -type d -exec chmod 2770 {} \;

Damit bin ich zwar auch nicht so richtig zufrieden, weil ich weiß, dass das keine Lösung, sondern nur ein hilfloser Workaround ist, und ein ziemlich schmutziger dazu. Aber es hilft vielleicht erst einmal über die Zeit, bis eine richtige Lösung gefunden ist.

Vielleicht haben diese "user" eine umask, die Gruppenrechte maskiert?

STefan