1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
// --------------------------------------------------------------------------
//
// File
// Name: UnixUser.h
// Purpose: Interface for managing the UNIX user of the current process
// Created: 21/1/04
//
// --------------------------------------------------------------------------
#ifndef UNIXUSER__H
#define UNIXUSER__H
class UnixUser
{
public:
UnixUser(const std::string& Username);
UnixUser(uid_t UID, gid_t GID);
~UnixUser();
private:
// no copying allowed
UnixUser(const UnixUser &);
UnixUser &operator=(const UnixUser &);
public:
void ChangeProcessUser(bool Temporary = false);
uid_t GetUID() {return mUID;}
gid_t GetGID() {return mGID;}
private:
uid_t mUID;
gid_t mGID;
bool mRevertOnDestruction;
};
#endif // UNIXUSER__H
|