61 explicit Root(
bool change_group ) ;
70 static void init(
const std::string & non_root ,
bool default_change_group =
true ) ;
92 void operator=(
const Root & ) ;
95 static Root * m_this ;
96 static bool m_initialised ;
97 static bool m_default_change_group ;
100 bool m_change_group ;
An empty structure that is used to indicate a signal-safe, reentrant implementation.
static Identity nobody()
Returns the 'nobody' identity corresponding to the init() user name.
A combination of user-id and group-id, with a very low-level interface to the get/set/e/uid/gid funct...
A class which acquires the process's special privileges on construction and releases them on destruct...
static Identity start(SignalSafe)
A signal-safe alternative to construction.
static void init(const std::string &non_root, bool default_change_group=true)
Initialises this class on process start-up by releasing root (or suid) privileges.
static void stop(SignalSafe, Identity)
A signal-safe alternative to destruction.
Root()
Default constructor.