version 1.18, 2006/01/30 16:17:08
|
version 1.19, 2006/04/19 19:39:24
|
|
|
| |
#endif | #endif |
| |
Boolean System::changeUserContext(const char *userName) |
Boolean System::lookupUserId( |
|
const char* userName, |
|
PEGASUS_UID_T& uid, |
|
PEGASUS_GID_T& gid) |
{ | { |
const unsigned int PWD_BUFF_SIZE = 1024; | const unsigned int PWD_BUFF_SIZE = 1024; |
struct passwd pwd; | struct passwd pwd; |
|
|
return false; | return false; |
} | } |
| |
|
uid = pwd.pw_uid; |
|
gid = pwd.pw_gid; |
|
|
|
return true; |
|
} |
|
|
|
Boolean System::changeUserContext( |
|
const PEGASUS_UID_T& uid, |
|
const PEGASUS_GID_T& gid) |
|
{ |
Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL4, | Tracer::trace(TRC_OS_ABSTRACTION, Tracer::LEVEL4, |
"Changing user context to: uid = %d, gid = %d", | "Changing user context to: uid = %d, gid = %d", |
(int) pwd.pw_uid, (int) pwd.pw_gid); |
(int) uid, (int) gid); |
| |
if (setgid(pwd.pw_gid) != 0) |
if (setgid(gid) != 0) |
{ | { |
PEG_TRACE_STRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2, | PEG_TRACE_STRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
String("setgid failed: ") + String(strerror(errno))); | String("setgid failed: ") + String(strerror(errno))); |
return false; | return false; |
} | } |
| |
if (setuid(pwd.pw_uid) != 0) |
if (setuid(uid) != 0) |
{ | { |
PEG_TRACE_STRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2, | PEG_TRACE_STRING(TRC_OS_ABSTRACTION, Tracer::LEVEL2, |
String("setuid failed: ") + String(strerror(errno))); | String("setuid failed: ") + String(strerror(errno))); |