aboutsummaryrefslogtreecommitdiffstats
path: root/asterisk.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-01-09 18:11:23 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-01-09 18:11:23 +0000
commit0e8eb3aa179febd84a6212409b61260d4b8a6fbd (patch)
tree98d9c5a98cdf7eb2d7867c42810e29e468e7e849 /asterisk.c
parent2dabcaa16c6864637e904a8231d155567db83b6c (diff)
commit user/group-related changes from trunk
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@7900 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'asterisk.c')
-rw-r--r--asterisk.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/asterisk.c b/asterisk.c
index a382b78e4..2bfbf452a 100644
--- a/asterisk.c
+++ b/asterisk.c
@@ -2187,6 +2187,16 @@ int main(int argc, char *argv[])
ast_log(LOG_WARNING, "No such user '%s'!\n", runuser);
exit(1);
}
+ if (!rungroup) {
+ if (setgid(pw->pw_gid)) {
+ ast_log(LOG_WARNING, "Unable to setgid to %d!\n", pw->pw_gid);
+ exit(1);
+ }
+ if (initgroups(pw->pw_name, pw->pw_gid)) {
+ ast_log(LOG_WARNING, "Unable to init groups for '%s'\n", runuser);
+ exit(1);
+ }
+ }
if (setuid(pw->pw_uid)) {
ast_log(LOG_WARNING, "Unable to setuid to %d (%s)\n", pw->pw_uid, runuser);
exit(1);