.\" -*- coding: UTF-8 -*-
.\" Copyright (C) 2001 Andries Brouwer (aeb@cwi.nl)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" [should really be seteuid.3]
.\" 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 seteuid 2 "2 maja 2024 r." "Linux man\-pages 6.9.1" 
.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 <unistd.h>\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 <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 .
