Race-Condition für systemd-tmpfiles

Race-Condition für systemd-tmpfiles

Ich habe eine Konfigurationsdatei /etc/tmpfiles.d/test.conf:

z /dir/*         660 -    -    -
z /dir/subdir   2770 -    -    -
z /dir/subdir/*  660 -    -    -
Z /dir             - root test -

Wenn ich laufe systemd-tmpfiles --prefix=/dir --create /etc/tmpfiles.d/test.conf ; ll /dir, sind die Zugriffsrechte von /dir/subdirzufällig

  • manchmal drwxrws---(von der /dir/*Regel) und
  • manchmal drw-rw----(von der /dir/subdirRegel).

Wie mache ich es deterministisch?

Der Punkt ist, dass das Verzeichnis /dirviele Dateien und ein Unterverzeichnis enthält und ich möchte rwZugriffsrechte für die Dateien und rwxZugriffsrechte für das Unterverzeichnis festlegen.

Centos 7

man tmpfiles.d

Antwort1

Wörtliche (Un-)Übereinstimmung von /dir/subdirin /etc/tmpfiles.d/test.conf:

z /dir/[!s]*       660 -    -    -
z /dir/s[!u]*      660 -    -    -
z /dir/su[!b]*     660 -    -    -
z /dir/sub[!d]*    660 -    -    -
z /dir/subd[!i]*   660 -    -    -
z /dir/subdi[!r]*  660 -    -    -
z /dir/subdir?*    660 -    -    -
z /dir/subdir     2770 -    -    -
z /dir/subdir/*    660 -    -    -
Z /dir               - root test -

Suffix(un)übereinstimmung von /dir/*.test.shin /etc/tmpfiles.d/test.conf:

z /dir/*[!t].sh     750 - - -
z /dir/*[!s]t.sh    750 - - -
z /dir/*[!e]st.sh   750 - - -
z /dir/*[!t]est.sh  750 - - -
z /dir/*[!.]test.sh 750 - - -
z /dir/*.test.sh    500 - - -

Mir gefällt diese Lösung nicht. Kann mir bitte jemand etwas Besseres einfallen lassen?

verwandte Informationen