![systemd-tmpfiles 競爭條件](https://rvso.com/image/770090/systemd-tmpfiles%20%E7%AB%B6%E7%88%AD%E6%A2%9D%E4%BB%B6.png)
我有一個設定檔/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
子目錄的存取權限。
森托斯7
答案1
/dir/subdir
in 的字面(不)匹配/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.sh
匹配/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 - - -
我不喜歡這個解決方案。請有人想出更好的辦法。