summaryrefslogtreecommitdiff
path: root/source3/lib/util_sec.c
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2003-10-23 16:51:08 +0000
committerVolker Lendecke <vlendec@samba.org>2003-10-23 16:51:08 +0000
commita36be30e082d0208ca8b6215928069e9f3d4f7b0 (patch)
tree43286adde3bf768f8fa4f0e096a21322f18d5e17 /source3/lib/util_sec.c
parent2a09fe6cb4e31e46dd92052bbc134629b4ae8fda (diff)
downloadsamba-a36be30e082d0208ca8b6215928069e9f3d4f7b0.tar.gz
samba-a36be30e082d0208ca8b6215928069e9f3d4f7b0.tar.bz2
samba-a36be30e082d0208ca8b6215928069e9f3d4f7b0.zip
Merge from 3_0:
After a phonecall with jra finally commit this. This changes our behaviour when the setresuid call is available. We now not only change the effective uid but also the real uid when becoming unprivileged. This is mainly for improved AFS compatibility, as AFS selects the token to send to the server based on the real uid of the process. I tested this with a W2k server with two non-root 'runas' sessions. They come in via a single smbd as two different users using two session setups. Samba on Linux can still switch between the two uids, proved by two different files created via those sessions. Volker (This used to be commit 8a75e2dfb6ee9099e7f9a970c522e71ab144d919)
Diffstat (limited to 'source3/lib/util_sec.c')
-rw-r--r--source3/lib/util_sec.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/source3/lib/util_sec.c b/source3/lib/util_sec.c
index 1980b8bfb7..7c2576ed91 100644
--- a/source3/lib/util_sec.c
+++ b/source3/lib/util_sec.c
@@ -183,11 +183,8 @@ void gain_root_group_privilege(void)
void set_effective_uid(uid_t uid)
{
#if USE_SETRESUID
- /* On Systems which have this function, would it not be more
- * appropriate to also set the real uid by doing
- * setresuid(uid,uid,-1)? This would make patching AFS
- * unnecessary. See comment in lib/afs.c. */
- setresuid(-1,uid,-1);
+ /* Set the effective as well as the real uid. */
+ setresuid(uid,uid,-1);
#endif
#if USE_SETREUID