setruid()

set real user ID of process 

Function


SYNOPSIS

#include <sys/types.h>

#include <unistd.h>

int setruid(uid_t uid);


DESCRIPTION

The setruid() function sets the real user ID of the calling process.

When the first NuTCRACKER Platform process is executed in a new process group, the real user and group IDs, effective user and group IDs, and saved user and group IDs of the process are set based on the process token.

When a NuTCRACKER Platform process calls one of the exec() functions to execute a file (program), effective user and group IDs and saved user and group IDs are inherited by the new process if it is a NuTCRACKER Platform application.

Note:

Use of this function is deprecated. It may be removed in a future release.


PARAMETERS

uid 

Is the real user ID.


RETURN VALUES

If successful, setruid() returns zero. On failure, it returns -1 and sets errno to one of the following values:

EINVAL 

The value of uid is out of range.

EPERM 

The process does not have appropriate privileges (the effective user ID is not 0) and uid does not match the real user ID or the saved user ID.


CONFORMANCE

4.4BSD, with exceptions.


MULTITHREAD SAFETY LEVEL

MT-Safe.


PORTING ISSUES

The 10/2016/2019/11/2022/2025 security model is significantly different from the UNIX security model. The NuTCRACKER Platform mapping of the UNIX security model to Windows, and vice-versa, is discussed in detail under Security in the Windows Concepts chapter of the PTC MKS Toolkit UNIX to Windows Porting Guide.

On 10/2016/2019/11/2022/2025, the Administrator and System accounts are mapped to uid 0; only these accounts have permission to execute setruid().


AVAILABILITY

PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Professional Developers 64-Bit Edition
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition


SEE ALSO

Functions:
_NutForkExecl(), _NutForkExecle(), _NutForkExeclp(), _NutForkExeclpe(), _NutForkExecv(), _NutForkExecve(), _NutForkExecvp(), _NutForkExecvpe(), execl(), execle(), execlp(), execlpe(), execv(), execve(), execvp(), execvpe(), getegid(), geteuid(), getgid(), getuid(), setegid(), seteuid(), setgid(), setregid(), setreuid(), setrgid(), setuid()


PTC MKS Toolkit 10.5 Documentation Build 40.