Patrick O'Callaghan wrote:
On Wed, 2024-06-05 at 06:41 -0400, Sam Varshavchik wrote:
Then, when you get to the actual description:
ProtectHome= Takes a boolean argument or the special values "read-only" or "tmpfs". If true, the directories /home/, /root, and /run/user are made inaccessible and empty for processes invoked by this unit.
What does "true" mean here? Does it refer to the setting existence, overall? Or, boolean as "true" and "false", but if so, what's "ProtectHome=yes" is all about?
I'd suggest reporting a documentation bug. It's the only way this will ever be clarified. I think people generally don't bother reporting this kind of thing (and I include myself in that) but it's important.
Is it really surprising that systemd (like many other tools) accepts values of yes/no, 1/0, and on/off in addition to true/false for boolean settings?
It is documented in systemd.syntax(7), though I imagine many people don't read all of the docs (which are already sprawling and massive). Adding more to it may not help.
FWIW, the documentation says:
Boolean arguments used in configuration files can be written in various formats. For positive settings the strings 1, yes, true and on are equivalent. For negative settings, the strings 0, no, false and off are equivalent.