From: Karol Mroz Date: Sat, 23 Apr 2016 11:54:45 +0000 (+0200) Subject: global-init: chown pid files X-Git-Tag: v11.0.0~829^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9c82d8466a264c0f07fd3ec4cc58c1ddb88cc84f;p=ceph.git global-init: chown pid files Signed-off-by: Karol Mroz --- diff --git a/src/global/global_init.cc b/src/global/global_init.cc index 18980c95ab09..4d7addf2918f 100644 --- a/src/global/global_init.cc +++ b/src/global/global_init.cc @@ -339,6 +339,12 @@ int global_init_prefork(CephContext *cct) if (pidfile_write(g_conf) < 0) exit(1); + if ((cct->get_init_flags() & CINIT_FLAG_DEFER_DROP_PRIVILEGES) && + (cct->get_set_uid() || cct->get_set_gid())) { + chown_path(conf->pid_file, cct->get_set_uid(), cct->get_set_gid(), + cct->get_set_uid_string(), cct->get_set_gid_string()); + } + return -1; } @@ -399,6 +405,12 @@ void global_init_postfork_start(CephContext *cct) if (pidfile_write(g_conf) < 0) exit(1); + + if ((cct->get_init_flags() & CINIT_FLAG_DEFER_DROP_PRIVILEGES) && + (cct->get_set_uid() || cct->get_set_gid())) { + chown_path(conf->pid_file, cct->get_set_uid(), cct->get_set_gid(), + cct->get_set_uid_string(), cct->get_set_gid_string()); + } } void global_init_postfork_finish(CephContext *cct)