mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-11 05:17:44 +03:00
Add a warning about the difference in permissions between existing directories and unit settings.
To follows the intent of 30c81ce
, this change does not execute chmod() and just add warnings.
This commit is contained in:
parent
ff9e7900c0
commit
6cff72eb0a
@ -2160,8 +2160,21 @@ static int setup_exec_directory(
|
|||||||
r = mkdir_label(p, context->directories[type].mode);
|
r = mkdir_label(p, context->directories[type].mode);
|
||||||
if (r < 0 && r != -EEXIST)
|
if (r < 0 && r != -EEXIST)
|
||||||
goto fail;
|
goto fail;
|
||||||
if (r == -EEXIST && !context->dynamic_user)
|
if (r == -EEXIST) {
|
||||||
continue;
|
struct stat st;
|
||||||
|
|
||||||
|
if (stat(p, &st) < 0) {
|
||||||
|
r = -errno;
|
||||||
|
goto fail;
|
||||||
|
}
|
||||||
|
if (((st.st_mode ^ context->directories[type].mode) & 07777) != 0)
|
||||||
|
log_warning("%s \'%s\' already exists but the mode is different. "
|
||||||
|
"(filesystem: %o %sMode: %o)",
|
||||||
|
exec_directory_type_to_string(type), *rt,
|
||||||
|
st.st_mode & 07777, exec_directory_type_to_string(type), context->directories[type].mode & 07777);
|
||||||
|
if (!context->dynamic_user)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Don't change the owner of the configuration directory, as in the common case it is not written to by
|
/* Don't change the owner of the configuration directory, as in the common case it is not written to by
|
||||||
|
Loading…
Reference in New Issue
Block a user