ドキュメントによると、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/*/
的に適用する方法がわからないためです。