Greenbone Vulnerability Management Libraries
11.0.0
|
Privilege dropping header file. More...
#include <glib.h>
Go to the source code of this file.
Macros | |
#define | GVM_DROP_PRIVILEGES g_quark_from_static_string ("gvm-drop-privileges-error-quark") |
The GQuark for privilege dropping errors. More... | |
#define | GVM_DROP_PRIVILEGES_ERROR_ALREADY_SET -1 |
Definition of the return code ERROR_ALREADY_SET. More... | |
#define | GVM_DROP_PRIVILEGES_OK 0 |
Definition of the return code OK. More... | |
#define | GVM_DROP_PRIVILEGES_FAIL_NOT_ROOT 1 |
Definition of the return code FAIL_NOT_ROOT. More... | |
#define | GVM_DROP_PRIVILEGES_FAIL_UNKNOWN_USER 2 |
Definition of the return code FAIL_UNKNOWN_USER. More... | |
#define | GVM_DROP_PRIVILEGES_FAIL_DROP_GID 3 |
Definition of the return code FAIL_DROP_GID. More... | |
#define | GVM_DROP_PRIVILEGES_FAIL_DROP_UID 4 |
Definition of the return code FAIL_DROP_UID. More... | |
#define | GVM_DROP_PRIVILEGES_FAIL_SUPPLEMENTARY 5 |
Definition of the return code FAIL_SUPPLEMENTARY. More... | |
Functions | |
int | drop_privileges (gchar *username, GError **error) |
Drop privileges. More... | |
Privilege dropping header file.
Definition in file drop_privileges.h.
#define GVM_DROP_PRIVILEGES g_quark_from_static_string ("gvm-drop-privileges-error-quark") |
The GQuark for privilege dropping errors.
Definition at line 33 of file drop_privileges.h.
#define GVM_DROP_PRIVILEGES_ERROR_ALREADY_SET -1 |
Definition of the return code ERROR_ALREADY_SET.
Definition at line 39 of file drop_privileges.h.
#define GVM_DROP_PRIVILEGES_FAIL_DROP_GID 3 |
Definition of the return code FAIL_DROP_GID.
Definition at line 59 of file drop_privileges.h.
#define GVM_DROP_PRIVILEGES_FAIL_DROP_UID 4 |
Definition of the return code FAIL_DROP_UID.
Definition at line 64 of file drop_privileges.h.
#define GVM_DROP_PRIVILEGES_FAIL_NOT_ROOT 1 |
Definition of the return code FAIL_NOT_ROOT.
Definition at line 49 of file drop_privileges.h.
#define GVM_DROP_PRIVILEGES_FAIL_SUPPLEMENTARY 5 |
Definition of the return code FAIL_SUPPLEMENTARY.
Definition at line 69 of file drop_privileges.h.
#define GVM_DROP_PRIVILEGES_FAIL_UNKNOWN_USER 2 |
Definition of the return code FAIL_UNKNOWN_USER.
Definition at line 54 of file drop_privileges.h.
#define GVM_DROP_PRIVILEGES_OK 0 |
Definition of the return code OK.
Definition at line 44 of file drop_privileges.h.
int drop_privileges | ( | gchar * | username, |
GError ** | error | ||
) |
Drop privileges.
We try to drop our (root) privileges and setuid to username
to minimize the risk of privilege escalation. The current implementation is linux-specific and may not work on other platforms.
[in] | username | The user to become. Its safe to pass "NULL", in which case it will default to "nobody". |
[out] | error | Return location for errors or NULL if not interested in errors. |
error
otherwise and returns the error code. Definition at line 66 of file drop_privileges.c.
References drop_privileges_error(), GVM_DROP_PRIVILEGES, GVM_DROP_PRIVILEGES_ERROR_ALREADY_SET, GVM_DROP_PRIVILEGES_FAIL_DROP_GID, GVM_DROP_PRIVILEGES_FAIL_DROP_UID, GVM_DROP_PRIVILEGES_FAIL_NOT_ROOT, GVM_DROP_PRIVILEGES_FAIL_SUPPLEMENTARY, GVM_DROP_PRIVILEGES_FAIL_UNKNOWN_USER, and GVM_DROP_PRIVILEGES_OK.