Linux

systemd-tmpfiles 競爭條件

  • September 7, 2021

我有一個配置文件/etc/tmpfiles.d/test.conf

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

當我執行時systemd-tmpfiles --prefix=/dir --create /etc/tmpfiles.d/test.conf ; ll /dir,訪問權限/dir/subdir是隨機的

  • 有時drwxrws---(根據/dir/*規則)和
  • 有時drw-rw----(根據/dir/subdir規則)。

我如何使它具有確定性?

關鍵是該目錄/dir包含很多文件和一個子目錄,我想設置rw對文件的rwx訪問權限和對子目錄的訪問權限。

700

人 tmpfiles.d

/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 -

/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 - - -

我不喜歡這個解決方案。有人請想出更好的東西。

引用自:https://serverfault.com/questions/1076270