.\" -*- coding: UTF-8 -*-
.\" Copyright (C), 1994, Graeme W. Wilford. (Wilf.)
.\" and Copyright (C) 2010, 2015, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Fri Jul 29th 12:56:44 BST 1994  Wilf. <G.Wilford@ee.surrey.ac.uk>
.\" Modified 1997-01-31 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 2002-03-09 by aeb
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH setgid 2 "2 maja 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
setgid \- ustawia identyfikator grupy
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <unistd.h>\fP
.P
\fBint setgid(gid_t \fP\fIgid\fP\fB);\fP
.fi
.SH OPIS
\fBsetgid\fP() ustawia efektywny identyfikator grupy procesu
wywołującego. Jeśli proces wywołujący jest uprzywilejowany (precyzyjniej:
jeśli proces ma przywilej \fBCAP_SETGID\fP w swojej przestrzeni nazw
użytkownika) ustawiany jest również rzeczywisty GID oraz zapisany
set\-group\-ID.
.P
W Linuksie \fBsetgid\fP() jest zaimplementowany tak, jak wersja POSIX, z
funkcją \fB_POSIX_SAVED_IDS\fP. Pozwala to programom set\-group\-ID innym niż
set\-user\-ID\-root porzucić wszystkie swoje przywileje grupy, wykonać jakąś
nieuprzywilejowaną pracę, a następnie odzyskać pierwotny efektywny
identyfikator grupy w bezpieczny sposób.
.SH "WARTOŚĆ ZWRACANA"
Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest \-1 i
ustawiane \fIerrno\fP, wskazując błąd.
.SH BŁĘDY
.TP 
\fBEINVAL\fP
Identyfikator grupy podany w \fIgid\fP nie jest prawidłowy w tej przestrzeni
nazw użytkownika.
.TP 
\fBEPERM\fP
Proces wywołujący nie jest uprzywilejowany (Linux: nie ma przywileju
\fBCAP_SETGID\fP w swej przestrzeni nazw użytkownika), a \fIgid\fP nie pasuje do
rzeczywistego identyfikatora grupy lub zapisanego set\-group\-ID procesu
wywołującego.
.SH WERSJE
.SS "Różnice biblioteki C/jądra"
Na poziomie jądra, identyfikatory użytkownika i grupy są atrybutami
przynależnymi wątkowi. Jednak POSIX wymaga, aby wszystkie wątki procesu
dzieliły te same poświadczenia. Implementacja wątkowania NPTL obsługuje
wymagania POSIX za pomocą funkcji opakowujących dla różnych wywołań
systemowych zmieniających UID\-y i GID\-y procesów. Te funkcje opakowujące (w
tym te dla \fBsetgid\fP()) wykorzystują technikę opartą na sygnałach aby
zapewnić, że gdy jeden wątek zmieni swe poświadczenia, wszystkie inne wątki
procesu również to uczynią. Więcej szczegółów w podręczniku \fBnptl\fP(7).
.SH STANDARDY
POSIX.1\-2008.
.SH HISTORIA
POSIX.1\-2001, SVr4.
.P
Pierwotne linuksowe wywołania systemowe \fBsetgid\fP() obsługiwały jedynie
16\-bitowe identyfikatory grup. Następnie, w Linuksie 2.4 dodano
\fBsetgid32\fP(), obsługujące identyfikatory 32\-bitowe. Funkcja opakowująca
\fBsetgid\fP() biblioteki glibc obsługuje te warianty pomiędzy wersjami jądra w
sposób przezroczysty.
.SH "ZOBACZ TAKŻE"
\fBgetgid\fP(2), \fBsetegid\fP(2), \fBsetregid\fP(2), \fBcapabilities\fP(7),
\fBcredentials\fP(7), \fBuser_namespaces\fP(7)
.PP
.SH TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika:
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
