![состояние гонки systemd-tmpfiles](https://rvso.com/image/770090/%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5%20%D0%B3%D0%BE%D0%BD%D0%BA%D0%B8%20systemd-tmpfiles.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
в /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 - - -
Мне не нравится это решение. Кто-нибудь, пожалуйста, придумайте что-нибудь получше.