Scroll to navigation

SETGID(2) Linux-Programmierhandbuch SETGID(2)

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

EINVAL
Die in gid angegebene Gruppen-ID ist in diesem Benutzer-Namensraum unzulässig.
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.

KONFORM ZU

SVr4, POSIX.1-2001.

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.

SIEHE AUCH

getgid(2), setegid(2), setregid(2), capabilities(7), credentials(7), user_namespaces(7)

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 3.74 des Projekts Linux- man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite 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>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> 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>.
21. September 2014 Linux