1
0
mirror of https://github.com/systemd/systemd synced 2025-09-20 20:34:45 +02:00

Compare commits

...

4 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
8a9125cbb3
Merge pull request #14596 from poettering/no-mask-perpetual
core: don't allow perpetual units to be masked
2020-01-18 10:17:10 +01:00
Wieland Hoffmann
287cf2d802 typo: "May modify to" -> "May modify" 2020-01-18 10:08:27 +01:00
Lennart Poettering
0879fbd6fe mount: make checks on perpetual mount units more lax
We don#t really care where perpetual mounts are mounted from, since they
have to exist since before we run anyway.
2020-01-17 15:09:18 +01:00
Lennart Poettering
88414eed6f core: never allow perpetual units to be masked
Fixes: #14550
2020-01-17 15:02:15 +01:00
3 changed files with 7 additions and 6 deletions

View File

@ -746,7 +746,7 @@ static const struct security_assessor security_assessor_table[] = {
{
.id = "ProtectControlGroups=",
.description_good = "Service cannot modify the control group file system",
.description_bad = "Service may modify to the control group file system",
.description_bad = "Service may modify the control group file system",
.url = "https://www.freedesktop.org/software/systemd/man/systemd.exec.html#ProtectControlGroups=",
.weight = 1000,
.range = 1,

View File

@ -4703,7 +4703,9 @@ int unit_load_fragment(Unit *u) {
return r;
if (null_or_empty(&st)) {
u->load_state = UNIT_MASKED;
/* Unit file is masked */
u->load_state = u->perpetual ? UNIT_LOADED : UNIT_MASKED; /* don't allow perpetual units to ever be masked */
u->fragment_mtime = 0;
} else {
u->load_state = UNIT_LOADED;

View File

@ -537,10 +537,9 @@ static int mount_verify(Mount *m) {
}
p = get_mount_parameters_fragment(m);
if (p && !p->what) {
log_unit_error(UNIT(m), "What= setting is missing. Refusing.");
return -ENOEXEC;
}
if (p && !p->what && !UNIT(m)->perpetual)
return log_unit_error_errno(UNIT(m), SYNTHETIC_ERRNO(ENOEXEC),
"What= setting is missing. Refusing.");
if (m->exec_context.pam_name && m->kill_context.kill_mode != KILL_CONTROL_GROUP) {
log_unit_error(UNIT(m), "Unit has PAM enabled. Kill mode must be set to control-group'. Refusing.");