Commit Graph
7 Commits
Author SHA1 Message Date
Daan De Meyer 38748596f0 core: Make DelegateNamespaces= work for user managers with CAP_SYS_ADMIN
Currently DelegateNamespaces= only works for services spawned by the
system manager. User managers will always unshare the user namespace
first even if they're running with CAP_SYS_ADMIN.

Let's add support for DelegateNamespaces= for user managers if they're
running with CAP_SYS_ADMIN. By default, we'll still delegate all namespaces
for user managers, but this can now be overridden by explicitly passing
DelegateNamespaces=.

If a user manager is running without CAP_SYS_ADMIN, the user manager is
still always unshared first just like before.
2025-03-19 10:01:19 +01:00
Daan De Meyer b281686b4f test: Fix formatting 2025-03-19 10:01:19 +01:00
Daan De Meyer 9a78b5eb7e TEST-07-PID1.delegate-namespaces: Actually run the testcases 2025-03-19 10:01:19 +01:00
Daan De Meyer b7602662cb TEST-07-PID1.delegate-namespaces: Fix testcase_pid()
Make sure the test has its own /proc and skip it in containers as
MountAPIVFS=yes in a container always results in a read-only /proc/sys
which means the test can't write to /proc/sys/kernel/ns_last_pid.
2025-03-19 10:01:16 +01:00
Daan De Meyer aae4748464 TEST-07-PID1.delegate-namespaces: Make sure fully visible procfs is available
To be able to mount /proc inside an unprivileged user namespace, we have
to make sure a fully visible procfs is available on the host, so let's make
sure that's the case.
2025-03-19 10:00:45 +01:00
Daan De Meyer c8912e3d83 TEST-07-PID1.delegate-namespaces: Fix testcase_network() 2025-03-19 10:00:45 +01:00
Daan De Meyer 8234cd9989 core: Add DelegateNamespaces=
This delegates one or more namespaces to the service. Concretely,
this setting influences in which order we unshare namespaces. Delegated
namespaces are unshared *after* the user namespace is unshared. Other
namespaces are unshared *before* the user namespace is unshared.

Fixes #35369
2025-03-01 13:54:58 +01:00