Provided by: manpages-pl-dev_0.5-1_all bug

NAZWA

       chmod, fchmod - zmiana praw do pliku

SKŁADNIA

       #include <sys/types.h>
       #include <sys/stat.h>

       int chmod(const char *path, mode_t mode);
       int fchmod(int fildes, mode_t mode);

OPIS

        Uwaga! To tłumaczenie może być nieaktualne!

       Zmienione  zostają  prawa  dostępu  do pliku określonego przez path lub wskazywanego przez
       filedes.

       Prawa są podawane jako or następujących wartości:

              S_ISUID   04000 ustawia ID użytkowinka przy uruchomieniu

              S_ISGID   02000 ustawia ID grupy przy uruchomieniu

              S_ISVTX   01000 bit "sticky"

              S_IRUSR (S_IREAD)
                        00400 odczyt przez właściciela

              S_IWUSR (S_IWRITE)
                        00200 zapis przez właściciela

              S_IXUSR (S_IEXEC)
                        00100 uruchomianie/przeszukiwanie przez właściciela

              S_IRGRP   00040 odczyt przez grupę

              S_IWGRP   00020 zapis przez grupę

              S_IXGRP   00010 uruchomianie/przeszukiwanie przez grupę

              S_IROTH   00004 odczyt przez pozostałych

              S_IWOTH   00002 zapis przez pozostałych

              S_IXOTH   00001 uruchomianie/przeszukiwanie przez pozostałych

       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 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.

WARTOŚĆ ZWRACANA

       Po pomyślnym zakończeniu,  zwracane  jest  zero.  W  wypadku  błędu  zwracane  jest  -1  i
       odpowiednio ustawiane errno.

BŁĘDY

       Dla  niektórych  systemów  plików  mogą  być  zwracane  inne  błędy  niż  opisane poniżej.
       Najogólniejsze błędy chmod to:

       EPERM  Efektywny UID nie odpoiwada właścicielowi pliku i nie jest zerem.

       EROFS  Podany plik znajduje się na systemie plików przeznaczonym tylko do odczytu.

       EFAULT path wskazuje poza dostępną dla użytkownika przestrzeń adresową.

       ENAMETOOLONG
              path jest zbyt długie.

       ENOENT Plik nie istnieje.

       ENOMEM Brak pamięci jądra.

       ENOTDIR
              Składnik ścieżki nie jest katalogiem.

       EACCES Brak praw do przeszukiwania dla składnika ścieżki.

       ELOOP  Podczas rozwiązywania path napotkano zbyt wiele dowiązań symbolicznych.

       EIO    Wystąpił błąd wejścia-wyjścia.

       Ogólne błędy dla fchmod to:

       EBADF  Deskryptor pliku fildes jest nieprawidłowy.

       EROFS  Zobacz wyżej.

       EPERM  Zobacz wyżej.

       EIO    Zobacz wyżej.

ZGODNE Z

       Funkcja 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 S_IREAD, S_IWRITE i S_IEXEC.

       Funkcja fchmod jest zgodna z 4.4BSD i SVr4.  SVr4  dokumentuje  dodatkowe  błędy  EINTR  i
       ENOLINK.   POSIX  wymaga  funkcji  fchmod,  gdy  zdefiniowane  jest  co  najmniej  jedno z
       _POSIX_MAPPED_FILES i _POSIX_SHARED_MEMORY_OBJECTS oraz dokumentuje dodatkowe błędy ENOSYS
       i EINVAL, ale nie dokumentuje EIO.

       POSIX i X/OPEN nie dokumentują bitu "sticky".

       ZOBACZ TAKŻE
              open(2), chown(2), execve(2), stat(2)

INFORMACJE O TŁUMACZENIU

       Powyższe  tłumaczenie  pochodzi  z nieistniejącego już Projektu Tłumaczenia Manuali i może
       nie być aktualne. 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:

              man --locale=C 2 chmod

       Prosimy o pomoc w aktualizacji stron man - więcej informacji  można  znaleźć  pod  adresem
       http://sourceforge.net/projects/manpages-pl/.