Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
setuid - Benutzernummer setzen
&pagelevel(4)&pagelevel
Definition | #include <unistd.h> Optional #include <sys/types.h> (Ende) int setuid(uid_t uid); |
Beschreibung | Wenn der Prozess Sonderrechte hat, setzt die Funktion setuid() die reale, die effektive und die gesicherte Benutzernummer gleich uid. Wenn der Prozess keine Sonderrechte hat, aber uid gleich der realen oder der gesicherten Benutzernummer ist, setzt setuid() die effektive Benutzernummer gleich uid. Die reale und die gesicherte Benutzernummer bleiben unverändert. |
Returnwert | 0 | bei Erfolg. |
| -1 | bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen. |
Fehler | setuid() schlägt fehl, wenn gilt:
|
| EPERM
| Der Prozess hat keine Sonderrechte und uid entspricht auch nicht seiner realen oder gesicherten Benutzernummer. |
Hinweise | Eine häufige Anwendung von setuid() ist die Aufgabe von nicht mehr benötigten Rechten in Programmen mit gesetztem s-Bit für den Eigentümer (insbesondere root ). Solche Programme benötigen die durch das s-Bit gewährten Rechte oft nur für ganz bestimmte Aufgaben. Werden die Rechte nicht mehr benötigt, so können sie durch einen Aufruf der folgenden Form wieder aufgegeben werden: erg = setuid(getuid());
|
Siehe auch | setpgid() , sys/types.h , unistd.h .
|