.\" -*- coding: UTF-8 -*- .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH setfsgid 2 "17 maja 2025 r." "Linux man\-pages 6.15" .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 \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 . .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 .