25 #ifndef COMMON_UTILS_ENVIRONMENT_HPP
26 #define COMMON_UTILS_ENVIRONMENT_HPP
31 #include <sys/types.h>
45 bool dropRoot(uid_t uid, gid_t gid,
const std::vector<unsigned int>& caps);
62 int passNamespacedFd(
int nsPid,
int ns,
const std::function<
int()>& fdFactory);
67 #endif // COMMON_UTILS_ENVIRONMENT_HPP
bool dropRoot(uid_t uid, gid_t gid, const std::vector< unsigned int > &caps)
Set effective and permitted capabilities on the current process and drop root privileges.
Definition: environment.cpp:195
bool setSuppGroups(const std::vector< std::string > &groups)
Set supplementary groups to the current process.
Definition: environment.cpp:171
int passNamespacedFd(int nsPid, int ns, const std::function< int()> &fdFactory)
Pass file descriptor from namespace of some process.
Definition: environment.cpp:347
bool launchAsRoot(const std::function< bool()> &func)
Launch func as root user.
Definition: environment.cpp:304
bool joinToNs(int nsPid, int ns)
Join to namespace.
Definition: environment.cpp:324