getauid, setauid - get and set user audit identity
cc [ flag ... ] file ... -lbsm -lsocket -lnsl -lintl [ library ... ]
int getauid(au_id_t *auid);
int setauid(au_id_t *auid);
The getauid() function returns the audit user ID for the
current process. This value is initially set at login time
and inherited by all child processes. This value does not
change when the real/effective user IDs change, so it can be
used to identify the logged-in user even when running a
setuid program. The audit user ID governs audit decisions
for a process.
The setauid() function sets the audit user ID for the
Upon successful completion, the getauid() function returns
the audit user ID of the current process on success. Other-
wise, it returns -1 and sets errno to indicate the error.
Upon successful completion the setauid() function returns 0.
Otherwise, -1 is returned and errno is set to indicate the
The getauid() and setauid() functions will fail if:
The auid argument points to an invalid address.
EPERM The process's effective user ID is not super-user.
Only the super-user may successfully execute these calls.
bsmconv(1M), audit(2), getaudit(2)
The functionality described in this man page is available
only if the Basic Security Module (BSM) has been enabled.
See bsmconv(1M) for more information.
These system calls have been superseded by getaudit() and
Man(1) output converted with