Provided by: manpages-pl-dev_0.7-2_all bug

NAZWA

       chown, fchown, lchown - zmiana właściciela pliku

SKŁADNIA

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

       int chown(const char *path, uid_t owner, gid_t group);
       int fchown(int fd, uid_t owner, gid_t group);
       int lchown(const char *path, uid_t owner, gid_t group);

OPIS

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

       Zmieniony  zostaje właściciel pliku określonego przez path lub przez deskryptor fd.  Tylko
       superużytkownik może zmieniać właściciela pliku.  Właściciel  pliku  może  zmieniać  tylko
       grupę  pliku na dowolną grupę, której jest członkiem.  Superużytkownik może zmieniać grupę
       bez ograniczeń.

       Jeśli owner lub group jest podane jako -1, to ten identyfikator nie jest wtedy zmieniany.

       Jeżeli właściciel lub grupa  pliku  uruchamialnego  są  zmieniane  przez  użytkownika  nie
       posiadającego   praw  superużytkownika,  to  atrybuty  S_ISUID  i  S_ISGID  pliku  zostaną
       wyzerowane. Standard POSIX nie precyzuje, czy atrybuty te powinny  być  również  zerowane,
       kiedy  to  użytkownik root wywołuje funkcję chown; zachowanie Linuksa w tym wypadku zależy
       od wersji jądra.  W przypadku pliku,  który  nie  ma  praw  uruchamiawania  dla  grupy  (z
       wyzerowanym bitem S_IXGRP), bit S_ISGID oznacza obowiązkowe blokowanie i nie jest zerowany
       przez chown.

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 chown to:

       EPERM  Efektywny UID nie odpowiada właścicielowi pliku i nie jest  zerem  albo  owner  lub
              group zostały podane nieprawidłowo.

       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.

       Ogólne błędy dla fchown to:

       EBADF  Deskryptor pliku jest nieprawidłowy.

       ENOENT Zobacz wyżej.

       EPERM  Zobacz wyżej.

       EROFS  Zobacz wyżej.

       EIO    Niskopoziomowy błąd we/wy podczas modyfikacji i-węzła.

UWAGI

       W  wersjach  jądra  Linuksa  poniżej  2.1.81  (i  różnych  od  2.1.46) chown nie podąża za
       dowiązaniami symbolicznymi.   Od  wersji  2.1.81  Linuksa  chown  podąża  za  dowiązaniami
       symbolicznymi,  została  także  dodana  nowa funkcja systemowa lchown, która nie podąża za
       dowiązaniami symbolicznymi.  Od wersji 2.1.86 Linuksa, ta nowa funkcja (mająca  taką  samą
       semantykę jak stare chown) ma taki sam numer funkcji, a chown otrzymała nowy numer.

       Prototyp   dla   fchown   jest   dostępny   jedynie,  gdy  zdefiniowane  jest  _BSD_SOURCE
       (bezpośrednio, albo pośrednio - nie definiując _POSIX_SOURCE  czy  kompilując  z  włączoną
       flagą -ansi).

ZGODNE Z

       Funkcja  chown  jest  zgodna  z  SVr4, SVID, POSIX, X/OPEN. Wersja 4.4BSD może być używana
       tylko przez superużytkownika (to znaczy normalni użytkownicy nie mogą  "podarować"  nikomu
       plików).   SVr4 dokumentuje błędy EINVAL, EINTR, ENOLINK i EMULTIHOP, lecz nie dokumentuje
       ENOMEM. POSIX.1 nie dokumentuje błędów ENOMEM i ELOOP.

       Funkcja fchown jest zgodna z 4.4BSD oraz SVr4.  SVr4 dokumentuje dodatkowe  błędy  EINVAL,
       EIO, EINTR i ENOLINK.

OGRANICZENIA

       Semantyka  chown()  jest  pogwałcona  na systemach plików NFS, z włączonym mapowaniem UID.
       Dodatkowo, semantyka wszystkich wywołań systemowych, które uzyskują dostęp  do  zawartości
       plików  jest  dla  NFS pogwałcona, bo chown() może spowodować natychmiastowe unieważnienie
       dostępu  do  już  otwartych  plików.   Buforowanie  po  stronie  klienta  może  spowodować
       opóźnienie  możliwości  uzyskania  dostępu  do  pliku  przez  użytkowników  innych  stacji
       klienckich w stosunku do chwili dokonania zmiany właściciela umożliwiającej ten dostęp.

ZOBACZ TAKŻE

       chmod(2), flock(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 chown

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