.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\" 
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\" 
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\"
.\" Modified by Michael Haardt (michael@moria.de)
.\" Modified Wed Jul 21 20:18:11 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Jan 12 14:31:17 MET 1997 by Michael Haardt
.\"   (michael@cantor.informatik.rwth-aachen.de): NFS details
.\" Translation (c) 1998 Przemek Borys <pborys@dione.ids.pl>
.\" Last update: A. Krzysztofowicz <ankry@mif.pg.gda.pl>, Jan 2002,
.\"              manpages 1.47
.\"
.TH CHMOD 2 1997-12-10 "Linux 2.0.32" "Podręcznik programisty Linuksa"
.SH NAZWA
chmod, fchmod \- zmiana praw do pliku
.SH SKŁADNIA
.B #include <sys/types.h>
.br
.B #include <sys/stat.h>
.sp
.BI "int chmod(const char *" path ", mode_t " mode );
.br
.BI "int fchmod(int " fildes ", mode_t " mode );
.SH OPIS
\fI Uwaga! To tłumaczenie może być nieaktualne!\fP
.PP
Zmienione zostają prawa dostępu do pliku określonego przez
.I path
lub wskazywanego przez
.IR filedes .

Prawa są podawane jako
.IR or
następujących wartości:
.RS
.sp
.TP 1.0i
S_ISUID
04000 ustawia ID użytkowinka przy uruchomieniu
.TP
S_ISGID
02000 ustawia ID grupy przy uruchomieniu
.TP
S_ISVTX
01000 bit "sticky"
.TP
S_IRUSR (S_IREAD)
00400 odczyt przez właściciela
.TP
S_IWUSR (S_IWRITE)
00200 zapis przez właściciela
.TP
S_IXUSR (S_IEXEC)
00100 uruchomianie/przeszukiwanie przez właściciela
.TP
S_IRGRP
00040 odczyt przez grupę
.TP
S_IWGRP
00020 zapis przez grupę
.TP
S_IXGRP
00010 uruchomianie/przeszukiwanie przez grupę
.TP
S_IROTH
00004 odczyt przez pozostałych
.TP
S_IWOTH
00002 zapis przez pozostałych
.TP
S_IXOTH
00001 uruchomianie/przeszukiwanie przez pozostałych
.sp
.RE

Efektywny UID procesu musi być zerem, lub odpowiadać właścicielowi pliku.

Jeśli efektywny UID procesu jest różny od zera, a grupa pliku różni się
od efektywnego ID grupy procesu i nie jest też żadną z kego grup
dodatkowych, to bit S_ISGID zostanie wyzerowany, ale nie spowoduje to
wystąpienia błędu.

Zależnie od systemu plików, bity SUID i SGID mogą zostać wyłączone podczas
zapisywania pliku. 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
.BR stat (2).

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.
.SH "WARTOŚĆ ZWRACANA"
Po pomyślnym zakończeniu, zwracane jest zero. W wypadku błędu zwracane jest
\-1 i odpowiednio ustawiane
.IR errno .
.SH BŁĘDY
Dla niektórych systemów plików mogą być zwracane inne błędy niż opisane
poniżej. Najogólniejsze błędy
.B chmod
to:

.TP
.B EPERM
Efektywny UID nie odpoiwada właścicielowi pliku i nie jest zerem.
.TP
.B EROFS
Podany plik znajduje się na systemie plików przeznaczonym tylko do odczytu.
.TP
.B EFAULT
.I path
wskazuje poza dostępną dla użytkownika przestrzeń adresową.
.TP
.B ENAMETOOLONG
.I path
jest zbyt długie.
.TP
.B ENOENT
Plik nie istnieje.
.TP
.B ENOMEM
Brak pamięci jądra.
.TP
.B ENOTDIR
Składnik ścieżki nie jest katalogiem.
.TP
.B EACCES
Brak praw do przeszukiwania dla składnika ścieżki.
.TP
.B ELOOP
Podczas rozwiązywania
.I path
napotkano zbyt wiele dowiązań symbolicznych.
.TP
.B EIO
Wystąpił błąd wejścia-wyjścia.
.PP
Ogólne błędy dla
.B fchmod
to:
.TP
.B EBADF
Deskryptor pliku
.I fildes
jest nieprawidłowy.
.TP
.B EROFS
Zobacz wyżej.
.TP
.B EPERM
Zobacz wyżej.
.TP
.B EIO
Zobacz wyżej.
.SH "ZGODNE Z"
Funkcja
.B chmod
jest zgodna z SVr4, SVID, POSIX, X/OPEN, 4.4BSD.
SVr4 dokumentuje błędy EINTR, ENOLINK i EMULTIHOP, lecz nie dokumentuje
ENOMEM. POSIX.1 nie dokumentuje błędów EFAULT, ENOMEM, ELOOP i EIO, ani
makr \fBS_IREAD\fP, \fBS_IWRITE\fP i \fBS_IEXEC\fP.
.PP
Funkcja
.B fchmod
jest zgodna z 4.4BSD i SVr4.
SVr4 dokumentuje dodatkowe błędy EINTR i ENOLINK.
POSIX wymaga funkcji
.BR fchmod ,
gdy zdefiniowane jest co najmniej jedno z
.B _POSIX_MAPPED_FILES
i
.B _POSIX_SHARED_MEMORY_OBJECTS
oraz dokumentuje dodatkowe błędy ENOSYS i EINVAL, ale nie dokumentuje EIO.
.PP
POSIX i X/OPEN nie dokumentują bitu "sticky".
.TP
.SH "ZOBACZ TAKŻE"
.BR open (2),
.BR chown (2),
.BR execve (2),
.BR stat (2)
.SH "INFORMACJE O TŁUMACZENIU"
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i 
\fImoże nie być aktualne\fR. W razie zauważenia różnic między powyższym opisem
a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie 
się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
.IP
man \-\-locale=C 2 chmod
.PP
Prosimy o pomoc w aktualizacji stron man \- więcej informacji można znaleźć pod
adresem http://sourceforge.net/projects/manpages\-pl/.
