From c71b2eb77e206ad622c9b2ab1807fb99725d572c Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 1 Aug 2017 10:36:33 +0200 Subject: [PATCH] core: don't chown() the configuration directory The configuration directory is commonly not owned by a service, but remains root-owned, hence don't change the owner automatically for it. --- src/core/execute.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/core/execute.c b/src/core/execute.c index cefe9b11c2..2453cb298c 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -1888,6 +1888,11 @@ static int setup_exec_directory( if (r < 0) goto fail; + /* Don't change the owner of the configuration directory, as in the common case it is not written to by + * a service, and shall not be writable. */ + if (type == EXEC_DIRECTORY_CONFIGURATION) + continue; + r = chmod_and_chown(p, context->directories[type].mode, uid, gid); if (r < 0) goto fail;