1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 11:18:13 +00:00

Add man pages for seteuid() and friends.

Also add an overview page that explains the general concepts.
This commit is contained in:
Nico Weber 2020-06-30 15:32:10 -04:00 committed by Andreas Kling
parent 9b4e6f6a23
commit 1f323076f0
13 changed files with 273 additions and 0 deletions

View file

@ -0,0 +1 @@
geteuid.md

View file

@ -0,0 +1,25 @@
## Name
geteuid, getegid - get effective user / group id
## Synopsis
```**c++
#include <unistd.h>
uid_t geteuid(void);
gid_t getegid(void);
```
## Description
Returns the effective user or group id.
## See also
* [`setuid_overview`(7)](../man7/setuid_overview.md)
* [`getuid`(2) / `getgid`(2)](getuid.md)
* [`getresuid`(2) / `getresgid`(2)](getresuid.md)
* [`seteuid`(2) / `setegid`(2)](seteuid.md)
* [`setuid`(2) / `setgid`(2)](setuid.md)
* [`setresuid`(2) / `setresgid`(2)](setresuid.md)

View file

@ -0,0 +1 @@
getuid.md

View file

@ -0,0 +1 @@
getresuid.md

View file

@ -0,0 +1,34 @@
## Name
getresuid, getresgid - get real, effective, and saved user / group ID
## Synopsis
```**c++
#include <unistd.h>
int getresuid(uid_t*, uid_t*, uid_t*);
int getresgid(gid_t*, gid_t*, gid_t*);
```
## Description
Returns the real, effective, and saved user or group ID.
## Return value
If the call was set successful, returns 0.
Else, returns -1 and sets `errno` to describe the error.
## Errors
* `EFAULT`: One of the passed pointers is not valid, writeable pointer in the current process.
## See also
* [`setuid_overview`(7)](../man7/setuid_overview.md)
* [`geteuid`(2) / `getegid`(2)](geteuid.md)
* [`getuid`(2) / `getgid`(2)](getuid.md)
* [`seteuid`(2) / `setegid`(2)](seteuid.md)
* [`setuid`(2) / `setgid`(2)](setuid.md)
* [`setresuid`(2) / `setresgid`(2)](setresuid.md)

View file

@ -0,0 +1,25 @@
## Name
getuid, getgid - get real user / group id
## Synopsis
```**c++
#include <unistd.h>
uid_t getuid(void);
gid_t getgid(void);
```
## Description
Returns the real user or group id.
## See also
* [`setuid_overview`(7)](../man7/setuid_overview.md)
* [`geteuid`(2) / `getegid`(2)](geteuid.md)
* [`getresuid`(2) / `getresgid`(2)](getresuid.md)
* [`seteuid`(2) / `setegid`(2)](seteuid.md)
* [`setuid`(2) / `setgid`(2)](setuid.md)
* [`setresuid`(2) / `setresgid`(2)](setresuid.md)

View file

@ -0,0 +1 @@
seteuid.md

View file

@ -0,0 +1,38 @@
## Name
seteuid, setegid - set effective user / group ID
## Synopsis
```**c++
#include <unistd.h>
int seteuid(uid_t);
int setegid(gid_t);
```
## Description
Sets the effective user or group ID.
For non-superusers, the effective ID can only be set to the current real or saved ID.
In particular, `seteuid(geteuid())` will fail if the current effective user ID is not equal to the current real or saved ID.
## Return value
If the call was set successful, returns 0.
Else, returns -1 and sets `errno` to describe the error.
## Errors
* `EPERM`: The new ID is not equal to the real ID or saved ID, and the user is not superuser.
## See also
* [`setuid_overview`(7)](../man7/setuid_overview.md)
* [`geteuid`(2) / `getegid`(2)](geteuid.md)
* [`getuid`(2) / `getgid`(2)](getuid.md)
* [`getresuid`(2) / `getresgid`(2)](getresuid.md)
* [`setuid`(2) / `setgid`(2)](setuid.md)
* [`setresuid`(2) / `setresgid`(2)](setresuid.md)

View file

@ -0,0 +1 @@
setuid.md

View file

@ -0,0 +1 @@
setresuid.md

View file

@ -0,0 +1,38 @@
## Name
setresuid, setresgid - set real, effective, and saved user / group ID
## Synopsis
```**c++
#include <unistd.h>
int setresuid(uid_t, uid_t, uid_t);
int setresgid(gid_t, gid_t, gid_t);
```
## Description
Sets all of real, effective, and saved user or group ID to the given values.
An argument of `-1` keeps the corresponding ID unchanged.
For non-superusers, each of the given values has to be equal to any of the current real, effective, or saved IDs for the call to succeed.
## Return value
If the call was set successful, returns 0.
Else, returns -1 and sets `errno` to describe the error.
## Errors
* `EPERM`: At least one of the passed IDs was not equal to the current real, effective, or saved ID, and the user is not superuser.
## See also
* [`setuid_overview`(7)](../man7/setuid_overview.md)
* [`geteuid`(2) / `getegid`(2)](geteuid.md)
* [`getuid`(2) / `getgid`(2)](getuid.md)
* [`getresuid`(2) / `getresgid`(2)](getresuid.md)
* [`seteuid`(2) / `setegid`(2)](seteuid.md)
* [`setuid`(2) / `setgid`(2)](setuid.md)

View file

@ -0,0 +1,36 @@
## Name
setuid, setgid - set user / group ID
## Synopsis
```**c++
#include <unistd.h>
int setuid(uid_t);
int setgid(gid_t);
```
## Description
Sets all of real, effective, and saved user or group ID to the given ID.
For non-superusers, the given ID has to be equal to the current real or effective ID for the call to succeed.
## Return value
If the call was set successful, returns 0.
Else, returns -1 and sets `errno` to describe the error.
## Errors
* `EPERM`: The new ID is not equal to the real ID or effective ID, and the user is not superuser.
## See also
* [`setuid_overview`(7)](../man7/setuid_overview.md)
* [`geteuid`(2) / `getegid`(2)](geteuid.md)
* [`getuid`(2) / `getgid`(2)](getuid.md)
* [`getresuid`(2) / `getresgid`(2)](getresuid.md)
* [`seteuid`(2) / `setegid`(2)](seteuid.md)
* [`setresuid`(2) / `setresgid`(2)](setresuid.md)