.\" -*- coding: UTF-8 -*-
.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
.\" and Copyright (C) 2006, 2014 Michael Kerrisk
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified by Michael Haardt <michael@moria.de>
.\" Modified 1993-07-21 by Rik Faith <faith@cs.unc.edu>
.\" Modified 1997-01-12 by Michael Haardt
.\"   <michael@cantor.informatik.rwth-aachen.de>: NFS details
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH chmod 2 "5 lutego 2023 r." "Linux man\-pages 6.03" 
.SH NAZWA
chmod, fchmod, fchmodat \- zmiana praw do pliku
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <sys/stat.h>\fP
.PP
\fBint chmod(const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB);\fP
\fBint fchmod(int \fP\fIfd\fP\fB, mode_t \fP\fImode\fP\fB);\fP
.PP
\fB#include <fcntl.h>\fP           /* Definicja stałych AT_* */
\fB#include <sys/stat.h>\fP
.PP
\fBint fchmodat(int \fP\fIdirfd\fP\fB, const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB, int \fP\fIflags\fP\fB);\fP
.fi
.PP
.RS -4
Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)):
.RE
.PP
.nf
.\"        || (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED)
.\"        || (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED)
\fBfchmod\fP():
    Since glibc 2.24:
        _POSIX_C_SOURCE >= 199309L
    glibc 2.19 to glibc 2.23
        _POSIX_C_SOURCE
    glibc 2.16 to glibc 2.19:
        _BSD_SOURCE || _POSIX_C_SOURCE
    glibc 2.12 to glibc 2.16:
        _BSD_SOURCE || _XOPEN_SOURCE >= 500
            || _POSIX_C_SOURCE >= 200809L
    glibc 2.11 and earlier:
        _BSD_SOURCE || _XOPEN_SOURCE >= 500
.fi
.PP
\fBfchmodat\fP():
.nf
    Od glibc 2.10:
        _POSIX_C_SOURCE >= 200809L
    Przed glibc 2.10:
        _ATFILE_SOURCE
.fi
.SH OPIS
The \fBchmod\fP()  and \fBfchmod\fP()  system calls change a file's mode bits.
(The file mode consists of the file permission bits plus the set\-user\-ID,
set\-group\-ID, and sticky bits.)  These system calls differ only in how the
file is specified:
.IP \[bu] 3
\fBchmod\fP() zmienia tryb określonego pliku, którego ścieżka jest podana w
\fIpathname\fP, która jest rozwiązana, jeśli jest to link symboliczny.
.IP \[bu]
\fBfchmod\fP() zmienia tryb pliku przypisanego do deskryptora otwartego pliku
\fIfd\fP.
.PP
Tryb nowego pliku jest określony w \fImode\fP, który jest maską bitową
stworzoną przez ORing łącznie zero lub więcej następujących:
.TP  18
\fBS_ISUID\fP  (04000)
set\-user\-ID (ustawia efektywny ID użytkownika procesu na \fBexecve\fP(2))
.TP 
\fBS_ISGID\fP  (02000)
set\-group\-ID (ustawia efektywny ID grupy na procesie na \fBexecve\fP(2);
obowiązkowe blokowanie, jak opisano w \fBfcntl\fP(2); bierze grupę nowego pliku
z katalogu nadrzędnego, jak opisano w \fBchown\fP(2) i \fBmkdir\fP(2))
.TP 
\fBS_ISVTX\fP  (01000)
bit sticky (flaga ograniczonego usuwania, jak opisano w \fBunlink\fP(2))
.TP 
\fBS_IRUSR\fP  (00400)
odczyt przez właściciela
.TP 
\fBS_IWUSR\fP  (00200)
zapis przez właściciela
.TP 
\fBS_IXUSR\fP  (00100)
wykonanie/wyszukiwanie przez właściciela ("wyszukiwanie" dotyczy katalogów,
oraz oznacza możliwość wejścia do katalogu)
.TP 
\fBS_IRGRP\fP  (00040)
odczyt przez grupę
.TP 
\fBS_IWGRP\fP  (00020)
zapis przez grupę
.TP 
\fBS_IXGRP\fP  (00010)
uruchomianie/przeszukiwanie przez grupę
.TP 
\fBS_IROTH\fP  (00004)
odczyt przez pozostałych
.TP 
\fBS_IWOTH\fP  (00002)
zapis przez pozostałych
.TP 
\fBS_IXOTH\fP  (00001)
uruchomianie/przeszukiwanie przez pozostałych
.PP
Efektywny UID wywoływanego procesu musi zgadzać się z właścicielem pliku,
lub proces musi być uprzywilejowany (Linux: musi mieć funkcjonalność
\fBCAP_FOWNER\fP
.PP
Jeśli wywołany proces nie jest uprzywilejowany (Linux: nie ma
funkcjonalności \fBCAP_FSETID\fP), oraz grupa pliku nie zgadza się z efektywnym
ID grupy procesu lub jednej z jego dodatkowych ID grupy, \fBS_ISGID\fP zostanie
wyłączony, lecz nie spowoduje to zwrócenia błędu.
.PP
Jako wyznacznik bezpieczeństwa, zależnie od systemu plików, bity SUID i SGID
mogą zostać wyłączone podczas zapisywania pliku. (Na Linuxie, zdarza się\ to
jeśli zapisujący proces nie ma funkcjonalności \fBCAP_FSETID\fP.) Na niektórych
systemach plików, tylko superużytkownik może ustawić bit "sticky", który
może mieć specjalne znaczenie. Znaczenie bitów "sticky", SUID i SGID dla
katalogów opisano w \fBinode\fP(7).
.PP
.\"
.\"
Na systemach plików NFS, ograniczanie praw będzie miało natychmiastowy wpływ
na aktualnie otwarte pliki, gdyż kontrola dostępu dokonywana jest na
serwerze, a otwarte pliki obsługiwane sa przez klienta. Rozszerzenie
uprawnień może zostać udostępnione z opóźnieniem innym klientom, jeśli mają
włączone buforowanie atrybutów.
.SS fchmodat()
Wywołanie systemowe \fBfchmodat\fP() operuje w dokładnie taki sam sposób jak
\fBchmod\fP(), z wyjątkiem różnic opisanych tutaj.
.PP
Jeśli ścieżka podana w \fIścieżka\fP jest względna, wtedy jest ona
interpretowana względem katalogu przypisanego przez deskryptor pliku
\fIdirfd\fP (zamiast względem obecnego katalogu roboczego wywołanego procesu,
tak jak dzieje się to w przypadku \fBchmod\fP() dla względnych ścieżek.
.PP
Jeśli ścieżka jest względna, a \fIdirdf\fP ma szczególna wartość \fBAT_FDCWD\fP,
wtedy \fIścieżka\fP jest interpretowana względnie do obecnego katalogu
roboczego wywołanego procesu (jak w \fBchmod\fP()).
.PP
If ścieżka \fIpathname\fP jest bezwzględna, to \fIdirfd\fP jest ignorowane.
.PP
\fIflags\fP mogą być 0 lub zawierać następujące flagi:
.TP 
\fBAT_SYMLINK_NOFOLLOW\fP
Jeśli \fIpathname\fP jest linkiem symbolicznym, nie rozwiązuje go: w zamian
operuje na samym linku. Ta flaga nie jest obecnie zaimplementowana.
.PP
Potrzeba \fBfchmodat\fP() jest wyjaśniona w \fBopenat\fP(2)
.SH "WARTOŚĆ ZWRACANA"
Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest \-1 i
ustawiane jest \fIerrno\fP wskazując błąd.
.SH BŁĘDY
W zależności od systemu plików, mogą wystąpić błędy nie wymienione poniżej.
.PP
Powszechniejsze błędy \fBfchmod\fP są następujące:
.TP 
\fBEACCES\fP
Brak praw do przeszukiwania dla składowej ścieżki. (Patrz także
\fBpath_resolution\fP(7)).
.TP 
\fBEBADF\fP
(\fBfchmod\fP())  The file descriptor \fIfd\fP is not valid.
.TP 
\fBEBADF\fP
(\fBfchmodat\fP())  \fIpathname\fP is relative but \fIdirfd\fP is neither \fBAT_FDCWD\fP
nor a valid file descriptor.
.TP 
\fBEFAULT\fP
\fIpathname\fP wskazuje poza dostępną dla użytkownika przestrzeń adresową.
.TP 
\fBEINVAL\fP
(\fBfchmodat\fP())  Invalid flag specified in \fIflags\fP.
.TP 
\fBEIO\fP
Wystąpił błąd wejścia/wyjścia.
.TP 
\fBELOOP\fP
Podczas rozwiązywania \fIpathname\fP napotkano zbyt wiele dowiązań
symbolicznych.
.TP 
\fBENAMETOOLONG\fP
Ścieżka \fIpathname\fP jest zbyt długa.
.TP 
\fBENOENT\fP
Plik nie istnieje.
.TP 
\fBENOMEM\fP
Brak pamięci jądra.
.TP 
\fBENOTDIR\fP
Składnik ścieżki nie jest katalogiem.
.TP 
\fBENOTDIR\fP
(\fBfchmodat\fP())  \fIpathname\fP is relative and \fIdirfd\fP is a file descriptor
referring to a file other than a directory.
.TP 
\fBENOTSUP\fP
(\fBfchmodat\fP())  \fIflags\fP specified \fBAT_SYMLINK_NOFOLLOW\fP, which is not
supported.
.TP 
\fBEPERM\fP
Efektywny UID nie odpoiwada właścicielowi pliku, a proces nie jest
uprzywilejowany (Linux: nie ma funkcjonalności \fBCAP_FOWNER\fP).
.TP 
\fBEPERM\fP
Plik jest oznaczony jako tylko do odczytu lub tylko do nadpisu. (Sprawdź
również \fBioctl_iflags\fP(2).)
.TP 
\fBEROFS\fP
Podany plik znajduje się na systemie plików przeznaczonym tylko do odczytu.
.SH WERSJE
\fBfchmodat\fP()  was added in Linux 2.6.16; library support was added in glibc
2.4.
.SH STANDARDY
\fBchmod\fP(), \fBfchmod\fP(): 4.4BSD, SVr4, POSIX.1\-2001i, POSIX.1\-2008.
.PP
\fBfchmodat\fP(): POSIX.1\-2008.
.SH UWAGI
.SS "Różnice biblioteki C/jądra"
Funkcja wrapper \fBfchmodat\fP() z biblioteki GNU C implementuje określony
przez POSIX'a interfejs opisany na tej stronie. Ten interfejs różni się od
zaszytego w Linuxie wywołania systemowego, które \fInie\fP ma argumentu
\fIflags\fP.
.SS "Uwagi dla glibc"
Na starszych wersjach jądra Linuxa gdzie \fBfchmodat\fP() nie było dostępne,
funkcja wrappera z glibc wraca do używania \fBchmod\fP(). Kiedy \fIpathname\fP
jest względną ścieżką, glibc konstruuje ścieżkę na bazie linku symbolicznego
w \fI/proc/self/fd\fP, który odpowiada argumentowi \fIdirfd\fP.
.SH "ZOBACZ TAKŻE"
\fBchmod\fP(1), \fBchown\fP(2), \fBexecve\fP(2), \fBopen\fP(2), \fBstat\fP(2), \fBinode\fP(7),
\fBpath_resolution\fP(7), \fBsymlink\fP(7)
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
Przemek Borys <pborys@dione.ids.pl>
i
Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>
.
.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 .
