Definition | #include <unistd.h> int setregid(gid_t rgid, grid_t egid); | |
Beschreibung |
Entspricht die effektive Benutzernummer des aufrufenden Prozesses dem Superuser, können die reale GID und die effektive GID auf jeden zulässigen Wert gesetzt werden. Entspricht die effektive Benutzernummer des aufrufenden Prozesses nicht dem Superuser, kann entweder die reale GID auf die gesicherte „set-GID“ aus Wenn ein Prozess zum Setzen der GID seine effektive GID auf seine reale GID setzt, kann er seine effektive GID immer noch auf die gesicherte „set-GID“ zurücksetzen. Sowohl bei einer Änderung der realen GID (d. h. wenn rgid nicht gleich -1 ist) als auch bei der Änderung der effektiven GID in einen Wert, der nicht der realen GID entspricht, wird die gesicherte „set-GID“ mit der neuen effektiven GID gleichgesetzt. Wird der aktuelle Wert der realen GID geändert, wird der alte Wert aus der Gruppenzugriffsliste gelöscht (siehe | |
Returnwert | 0 | bei Erfolg. |
| -1 | bei Fehler. |
Fehler |
| |
| EINVAL | Der Wert von rgid oder egid ist ungültig oder außerhalb des Wertebereiches. |
| EPERM | Die effektive Benutzernummer des aufrufenden Prozesses entspricht nicht der des Superuser, und es wurde eine andere Änderung als die Änderung der realen GID in die gesicherte „set-GID“ oder der effektiven GID in die reale oder die gesicherte GID angegeben. |
Siehe auch |
|