diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2014-10-06 16:28:13 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2014-10-07 13:48:05 +0200 |
commit | 094157915c72358f8ad10ac1b67227cf41b4e76c (patch) | |
tree | 236f41458620f1d4137a9e7d7612371b103a1c5c /src/util/server.c | |
parent | d572c5155d573b7a8d5228ab2688afc2376feee2 (diff) | |
download | sssd-094157915c72358f8ad10ac1b67227cf41b4e76c.tar.gz sssd-094157915c72358f8ad10ac1b67227cf41b4e76c.tar.xz sssd-094157915c72358f8ad10ac1b67227cf41b4e76c.zip |
SSSD: Add the possibility to specify a UID and GID to run as
Diffstat (limited to 'src/util/server.c')
-rw-r--r-- | src/util/server.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/util/server.c b/src/util/server.c index 51934f8ba..3a84dee0c 100644 --- a/src/util/server.c +++ b/src/util/server.c @@ -412,6 +412,7 @@ errno_t server_common_rotate_logs(struct confdb_ctx *confdb, } int server_setup(const char *name, int flags, + uid_t uid, gid_t gid, const char *conf_entry, struct main_context **main_ctx) { @@ -426,6 +427,13 @@ int server_setup(const char *name, int flags, struct tevent_signal *tes; struct logrotate_ctx *lctx; + ret = become_user(uid, gid); + if (ret != EOK) { + DEBUG(SSSDBG_FUNC_DATA, + "Cannot become user [%"SPRIuid"][%"SPRIgid"].\n", uid, gid); + return ret; + } + debug_prg_name = strdup(name); if (!debug_prg_name) { return ENOMEM; |