.\" -*- 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 .\" Modified 1993-07-21 by Rik Faith .\" Modified 1997-01-12 by Michael Haardt .\" : NFS details .\" Modified 2004-06-23 by Michael Kerrisk .\" .\"******************************************************************* .\" .\" 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 \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 \fP /* Definicja stałych AT_* */ \fB#include \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" On success, zero is returned. On error, \-1 is returned, and \fIerrno\fP is set to indicate the error. .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 i Andrzej Krzysztofowicz . .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 .