.\" -*- 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 seteuid 2 "17 maja 2025 r." "Linux man\-pages 6.15" .SH NAZWA seteuid, setegid \- ustawia efektywny identyfikator użytkownika lub grupy .SH BIBLIOTEKA Standardowa biblioteka C (\fIlibc\fP,\ \fI\-lc\fP) .SH SKŁADNIA .nf \fB#include \fP .P \fBint seteuid(uid_t \fP\fIeuid\fP\fB);\fP \fBint setegid(gid_t \fP\fIegid\fP\fB);\fP .fi .P .RS -4 Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)): .RE .P \fBseteuid\fP(), \fBsetegid\fP(): .nf _POSIX_C_SOURCE >= 200112L || /* glibc <= 2.19: */ _BSD_SOURCE .fi .SH OPIS \fBseteuid\fP() ustawia efektywny identyfikator użytkownika procesu wywołującego. Nieuprzywilejowane procesy mogą ustawiać tylko efektywny identyfikator użytkownika na rzeczywisty identyfikator użytkownika, efektywny identyfikator użytkownika lub zapisany set\-user\-ID. .P .\" When .\" .I euid .\" equals \-1, nothing is changed. .\" (This is an artifact of the implementation in glibc of seteuid() .\" using setresuid(2).) Powyższy opis stosuje się również do \fBsetegid\fP(), po zastąpieniu słowa \[Bq]użytkownik\[rq] \[en] \[Bq]grupą\[rq]. .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. .P \fIUwaga\fP: są przypadki, gdy \fBseteuid\fP() może zawieść nawet wówczas, gdy wywołujący ma UID 0. Pominięcie sprawdzenia zwrotu niepowodzenia z \fBseteuid\fP() jest poważnym zagrożeniem bezpieczeństwa. .SH BŁĘDY .TP \fBEINVAL\fP Docelowy identyfikator użytkownika lub grupy nie jest prawidłowy w tej przestrzeni nazw użytkownika. .TP \fBEPERM\fP W przypadku \fBseteuid\fP(): proces wywołujący nie jest uprzywilejowany (nie ma przywileju \fBCAP_SETUID\fP w swej przestrzeni nazw użytkownika), a \fIeuid\fP nie pasuje do obecnego rzeczywistego identyfikatora użytkownika, obecnego efektywnego identyfikatora użytkownika lub obecnego zapisanego set\-user\-ID. .IP W przypadku \fBsetegid\fP(): proces wywołujący nie jest uprzywilejowany (nie ma przywileju \fBCAP_SETGID\fP w swej przestrzeni nazw użytkownika), a \fIegid\fP nie pasuje do obecnego rzeczywistego identyfikatora grupy, obecnego efektywnego identyfikatora grupy lub obecnego zapisanego set\-group\-ID. .SH WERSJE Ustawianie efektywnego ID użytkownika (grupy) na podstawie zachowanego set\-user\-ID (zapisanego set\-group\-ID) jest możliwe poczynając od Linuksa 1.1.37 (1.1.38). Na nieznanym systemie należy sprawdzić \fB_POSIX_SAVED_IDS\fP. .P W glibc 2.0, \fBseteuid(\fP\fIeuid\fP\fB)\fP jest równoważne \fBsetreuid(\-1,\fP\fI euid\fP\fB)\fP, zatem może zmienić zapisany set\-user\-ID. W glibc 2.1 i późniejszych, jest równoważne \fBsetresuid(\-1,\fP\fI euid\fP\fB, \-1)\fP, zatem nie zmienia zapisanego set\-user\-ID. Analogiczne uwagi stosują się wobec \fBsetegid\fP(), z tą różnicą, że zmiana w implementacji z \fBsetregid(\-1,\fP\fI egid\fP\fB)\fP na \fBsetresgid(\-1,\fP\fI egid\fP\fB, \-1)\fP nastąpiła w glibc 2.2 lub 2.3 (w zależności od architektury sprzętowej). .P Zgodnie z POSIX.1, \fBseteuid\fP() (\fBsetegid\fP()) nie może zezwalać, aby \fIeuid\fP (\fIegid\fP) miał tę samą wartość jak obecny efektywny identyfikator użytkownika (grupy) i niektóre implementacje na to nie zezwalają. .SS "Różnice biblioteki C/jądra" W Linuksie, \fBseteuid\fP() i \fBsetegid\fP() zaimplementowano jako funkcje biblioteczne wywołujące, odpowiednio: \fBsetresuid\fP(2) i \fBsetresgid\fP(2). .SH STANDARDY POSIX.1\-2008. .SH HISTORIA POSIX.1\-2001, 4.3BSD. .SH "ZOBACZ TAKŻE" \fBgeteuid\fP(2), \fBsetresuid\fP(2), \fBsetreuid\fP(2), \fBsetuid\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 . .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 .