BEZEICHNUNG¶
setgid - setzt die Gruppenidentität (GID)
ÜBERSICHT¶
#include <sys/types.h>
#include <unistd.h>
int setgid(gid_t gid);
BESCHREIBUNG¶
setgid() setzt die effektive Gruppen-ID des aufrufenden Prozesses. Wird
diese Funktion durch den Superuser aufgerufen, werden auch die reale und die
gesicherte Gruppen-ID gesetzt.
Unter Linux ist
setgid() wie die POSIX-Version mit dem
_POSIX_SAVED_IDS-Merkmal implementiert. Das ermöglicht einem
setgid-Programm, das nicht vom Superuser aufgerufen wurde, alle seine
Gruppenprivilegien abzugeben, einige nicht privilegierte Arbeiten zu erledigen
und dann auf sichere Art und Weise weiter die ursprüngliche effektive
Gruppen-ID zu nutzen.
RÜCKGABEWERT¶
Bei Erfolg wird Null zurückgegeben. Bei einem Fehler wird -1
zurückgegeben und
errno entsprechend gesetzt.
FEHLER¶
- EPERM
- Der aufrufende Prozess ist nicht privilegiert (verfügt
nicht über die CAP_SETGID-Capability) und gid
entspricht nicht der realen Gruppen-ID oder der gespeicherten
»set-group«-ID des aufrufenden Prozesses.
ANMERKUNGEN¶
Der ursprüngliche
setgid()-Systemaufruf unterstützte nur
16-Bit-Gruppen-IDs. Danach führte Linux 2.4 mit
setgid32() die
Unterstützung für 32-Bit-IDs hinzu. Die Glibc-Wrapperfunktion
setgid() behandelt die Unterschiede zwischen den Kernel-Versionen
transparent.
SVr4, POSIX.1-2001.
SIEHE AUCH¶
getgid(2),
setegid(2),
setregid(2),
capabilities(7),
credentials(7)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
gemeldet werden können, finden sich unter
http://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Stefan Janke
<gonzo@burg.studfb.unibw-muenchen.de> und Martin Eberhard Schauer
<Martin.E.Schauer@gmx.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public
License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird
KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.