summaryrefslogtreecommitdiff
path: root/src/core/execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/execute.c')
-rw-r--r--src/core/execute.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/execute.c b/src/core/execute.c
index c186f2a705..26e9cd5339 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
@@ -1670,6 +1670,12 @@ static int exec_child(
if (context->dynamic_user && dcreds) {
+ /* Make sure we bypass our own NSS module for any NSS checks */
+ if (putenv((char*) "SYSTEMD_NSS_DYNAMIC_BYPASS=1") != 0) {
+ *exit_status = EXIT_USER;
+ return -errno;
+ }
+
r = dynamic_creds_realize(dcreds, &uid, &gid);
if (r < 0) {
*exit_status = EXIT_USER;