I want to chmod all files and dirs/subdirs in a tree using tmpfiles.
Starting with an example tree
tree -pF /home/test/TEST
/home/test/TEST
└── [dr--------] topdir/
├── [-r--------] A.txt
└── [dr--------] subdir1/
├── [-r--------] B.txt
└── [dr--------] subdir2/
└── [-r--------] C.txt
I want to chmod
all files -> 0640
all dirs -> 0750
i.e., ending up with
/home/test/TEST
└── [drwxr-x---] topdir/
├── [-rw-r-----] A.txt
└── [drwxr-x---] subdir1/
├── [-rw-r-----] B.txt
└── [drwxr-x---] subdir2/
└── [-rw-r-----] C.txt
for this, it seems shell globs are appropriate.
but, with
/etc/tmpfiles.d/test.conf
(1) Z /home/test/TEST/{.,**/} 0750 nobody nobody -
(2A) Z /home/test/TEST/** 0640 nobody nobody -
or
(2B) Z /home/test/TEST/{**,!.,!**/} 0640 nobody nobody -
, where the intention was that shell glob (1) matches only dirs/subdirs, and
glob (2A) or (2B) matches files,
after exec of
systemd-tmpfiles --create /etc/tmpfiles.d/dovecot.conf
I end up, instead, with
tree -pF /home/test/TEST
/home/test/TEST
└── [drw-r-----] topdir/
├── [-rw-r-----] A.txt
└── [drw-r-----] subdir1/
├── [-rw-r-----] B.txt
└── [drw-r-----] subdir2/
└── [-rw-r-----] C.txt
... with all my intended 0750 exec'able dir modes are overwritten with
intended-for-files modes.
either my globs are wrong &/or I'm bumping into recursion conflicts with "Z" in
tmpfiles.
What's the right usage/syntax in a tmpfile to efficiently/correctly get that^
done?
_______________________________________________
systemd-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/systemd-devel