sys_setresuid  [kernel/sys.c]


Sets the real UID, effective UID, and saved set-user-ID of the current process (and always modifies the file system UID to be the same as the effective UID).

Arguments

eax 164
ebx New real UID. If ebx equals -1, the corresponding value is not changed.
ecx New effective UID. If ecx equals -1, the corresponding value is not changed.
edx New saved UID. If edx equals -1, the corresponding value is not changed.

Return values

If the system call succeeds the return value is 0.
If the system call fails the return value is one of the following errno values:

-EAGAIN This call would bring that user ID over its NPROC rlimit.
-EPERM The calling process is not privileged (did not have the CAP_SETUID capability) and tried to change the IDs to values that are not permitted.

Remarks

Unprivileged user processes may change the real UID, effective UID, and saved set-user-ID, each to one of: the current real UID, the current effective UID or the current saved set-user-ID.

Privileged processes (those having the CAP_SETUID capability) may set the real UID, effective UID, and saved set-user-ID to arbitrary values.

Regardless of what changes are made to the real UID, effective UID, and saved set-user-ID, the file system UID is always set to the same value as the (possibly new) effective UID.

Compatibility

n/a