diff options
author | Dean Jansa <djansa@redhat.com> | 2008-06-27 16:18:35 +0000 |
---|---|---|
committer | Nathan Straz <nstraz@redhat.com> | 2008-09-23 09:37:47 -0400 |
commit | 423ad02026a37dc128e0b879cadf9dbaf6377af7 (patch) | |
tree | af1084dbc8affb09ade48b640fab06223f71c93b /qarshd.c | |
parent | 88e19aecd9900ea4e361058d7779e97427f8e9fb (diff) | |
download | qarsh-423ad02026a37dc128e0b879cadf9dbaf6377af7.tar.gz qarsh-423ad02026a37dc128e0b879cadf9dbaf6377af7.tar.xz qarsh-423ad02026a37dc128e0b879cadf9dbaf6377af7.zip |
chdir() to users home dir
Diffstat (limited to 'qarshd.c')
-rw-r--r-- | qarshd.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -67,8 +67,16 @@ setup_user(char *user, char *group) setgid(pw->pw_gid); initgroups(pw->pw_name, pw->pw_gid); } + /* setuid is last so we can still do setgid and initgroups */ setuid(pw->pw_uid); + + if (chdir(pw->pw_dir) < 0) { + syslog(LOG_WARNING, "Unable to chdir() to %s: %s\n", + pw->pw_dir, strerror(errno)); + return 0; + } + return 1; } |