.\" -*- coding: UTF-8 -*-
.\" Copyright (C) 1995, Thomas K. Dyas <tdyas@eden.rutgers.edu>
.\" and Copyright (C) 2019, Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Created   1995-08-06 Thomas K. Dyas <tdyas@eden.rutgers.edu>
.\" Modified  2000-07-01 aeb
.\" Modified  2002-07-23 aeb
.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
.\"     Added notes on capability requirements
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH setfsgid 2 "2 maja 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
setfsgid \- ustawia identyfikator grupy używany przy sprawdzeniach na
poziomie systemu plików
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <sys/fsuid.h>\fP
.P
\fB[[przestarzałe]] int setfsgid(gid_t \fP\fIfsgid\fP\fB);\fP
.fi
.SH OPIS
W Linuksie, proces może posiadać zarówno identyfikator grupy systemu plików
jak i efektywny identyfikator grupy. (Typowo linuksowy) identyfikator grupy
systemu plików służy do sprawdzania uprawnień przy dostępie do obiektów
systemu plików, natomiast efektywny identyfikator grupy jest używany do
pewnych innych sprawdzeń uprawnień (zob. \fBcredentials\fP(7)).
.P
Zwykle wartość identyfikatora grupy systemu plików dla procesu jest taka
sama, jak jego wartość efektywnego identyfikatora grupy. Jest tak, ponieważ
przy każdej zmianie efektywnego identyfikatora grupy jądro zmienia również
identyfikator grupy systemu plików na taki sam, jak nowa wartość efektywnego
ID grupy. Proces może spowodować, że wartość jego ID grupy systemu plików
zacznie odbiegać od jego efektywnego ID grupy korzystając z \fBsetfsgid\fP(), w
celu zmiany jego ID grupy systemu plików na wartość podaną w \fIfsgid\fP.
.P
\fBsetfsgid\fP() powiedzie się tylko, jeśli wywołujący jest superużytkownikiem
lub jeśli \fIfsgid\fP pasuje do rzeczywistego identyfikatora grupy
wywołującego, efektywnego identyfikatora grupy, zapisanego set\-group\-ID lub
aktualnego identyfikatora użytkownika systemu plików.
.SH "WARTOŚĆ ZWRACANA"
Zarówno w przypadku powodzenia, jak i przy niepowodzeniu, niniejsze
wywołanie zwraca poprzedni identyfikator grupy systemu plików wywołującego.
.SH STANDARDY
Linux.
.SH HISTORIA
.\" Linux 1.1.44
.\" and in libc since libc 4.7.6.
Linux 1.2.
.SS "Różnice biblioteki C/jądra"
W glibc 2.15 i wcześniejszych, gdy opakowanie dla tego wywołania systemowego
ustali, że argument nie może być przekazany jądru bez obcięcia liczby
(ponieważ jądro jest stare i nie obsługuje 32\-bitowych identyfikatorów
grup), zwróci \-1 i ustawi \fIerrno\fP na \fBEINVAL\fP bez próby korzystania z
wywołania systemowego.
.SH UWAGI
Koncept identyfikatora grupy systemu plików oraz wywołanie systemowe
\fBsetfsgid\fP() wymyślono ze względów historycznych, które nie mają znaczenia
na współczesnych jądrach Linux. W podręczniku \fBsetfsuid\fP(2) opisano
dlaczego korzystanie z \fBsetfsuid\fP(2) i \fBsetfsgid\fP() nie jest obecnie
potrzebne.
.P
Pierwotne linuksowe wywołania systemowe \fBsetfsgid\fP() obsługiwały jedynie
16\-bitowe identyfikatory grup. Następnie, w Linuksie 2.4 dodano
\fBsetfsgid32\fP(), obsługujące identyfikatory 32\-bitowe. Funkcja opakowująca
\fBsetfsgid\fP() biblioteki glibc obsługuje te warianty pomiędzy wersjami jądra
w sposób przezroczysty.
.SH USTERKI
Przy wystąpieniu błędu, wywołujący nie otrzymuje zwrotnie żadnego wskazania,
a fakt, że pomyślne i niepomyślne wywołanie zwraca tę samą wartość powoduje,
że nie da się bezpośrednio ustalić, czy wywołanie powiodło się, czy też
nie. Zamiast tego wywołujący musi posiłkować się sięgnięciem do wartości
zwracanej przez kolejne wywołanie, takie jak \fIsetfsgid(\-1)\fP (które zawsze
zawiedzie), aby ustalić, czy poprzedzające je wywołanie do \fBsetfsgid\fP()
zmieniło identyfikator grupy systemu plików. Ostatecznie, \fBEPERM\fP powinno
być zwrócone, gdy wywołanie zawiedzie (z powodu nieposiadania przez
wywołującego przywileju \fBCAP_SETGID\fP).
.SH "ZOBACZ TAKŻE"
\fBkill\fP(2), \fBsetfsuid\fP(2), \fBcapabilities\fP(7), \fBcredentials\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 .
