tmpfiles.d glob 仅适用于目录

tmpfiles.d glob 仅适用于目录

根据文档,我应该能够使用 glob 来指定路径,但是似乎/*/不支持对目录使用 glob,这是因为这种类型的 glob 是tmpfiles.d规则不支持的“扩展 glob 规范”的一部分不支持?

例如:

$ cd $(mktemp -d)
$ mkdir -p folder/{sub1,sub2}
$ touch folder/{file1,file2}
$ chmod -R 0700 folder 
$ echo "z $PWD/folder/*/ 0770 - - - -" | systemd-tmpfiles --create -
$ ls -l folder
total 8
-rwxrwx--- 1 mathiassven users    0 Nov 16 05:15 file1
-rwxrwx--- 1 mathiassven users    0 Nov 16 05:15 file2
drwxrwx--- 2 mathiassven users 4096 Nov 16 05:15 sub1
drwxrwx--- 2 mathiassven users 4096 Nov 16 05:15 sub2

正如您所看到的,该规则也适用于文件。

至于我为什么要这样做,我想要一个这样的规则:

Z /srv/dav    0664 - - - -
Z /srv/dav/*/ 0774 - - - -

这样所有文件下/srv/dav都有0664,但目录下有0774。尽管我不确定即使目录全局有效,我是否能够轻松实现这一点,因为我不知道如何/srv/dav/*/与递归应用它交互。

相关内容