diff options
author | Mattias Andrée <maandree@operamail.com> | 2013-11-18 22:55:28 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2013-11-18 22:55:28 +0100 |
commit | 5eafb0a9959c9a485046a4ec7096d970f96ce359 (patch) | |
tree | b51bd32fdf56a9099cf8e808718555b43f285537 /src/login.c | |
parent | m (diff) | |
download | libpassphrase-5eafb0a9959c9a485046a4ec7096d970f96ce359.tar.gz libpassphrase-5eafb0a9959c9a485046a4ec7096d970f96ce359.tar.bz2 libpassphrase-5eafb0a9959c9a485046a4ec7096d970f96ce359.tar.xz |
set user and group
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'src/login.c')
-rw-r--r-- | src/login.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/login.c b/src/login.c index 5a97fb6..46bf4e2 100644 --- a/src/login.c +++ b/src/login.c @@ -33,6 +33,27 @@ extern char** environ; /** + * Set the user gid and uid + * + * @param entry The user entry in the password file + */ +void set_user(struct passwd* entry) +{ + if (setgid(entry->pw_gid) && entry->pw_gid) + { + perror("setgid"); + _exit(1); + } + + if (setuid(entry->pw_uid) && entry->pw_uid) + { + perror("setuid"); + _exit(1); + } +} + + +/** * Change directory to the user's home directory * * @param entry The user entry in the password file |