Provided by: manpages-pl-dev_20060617-3_all bug

NAZWA

       chown, fchown, lchown - zmiana wlaciciela pliku

SK/LADNIA

       #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

       Zmieniony  zostaje  wlaciciel  pliku  okrelonego  przez  path lub przez
       deskryptor fd.  Tylko  superuytkownik  moe  zmienia  wlaciciela  pliku.
       Wlaciciel  pliku  moe  zmienia  tylko grup pliku na dowoln grup, ktorej
       jest czlonkiem.  Superuytkownik moe zmienia grup bez ogranicze.

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

       Jeeli  wlaciciel  lub  grupa  pliku  uruchamialnego  s  zmieniane przez
       uytkownika nie posiadajcego praw superuytkownika, to atrybuty S_ISUID i
       S_ISGID  pliku  zostan  wyzerowane.  Standard  POSIX nie precyzuje, czy
       atrybuty te  powinny  by  rownie  zerowane,  kiedy  to  uytkownik  root
       wywoluje funkcj chown; zachowanie Linuksa w tym wypadku zaley od wersji
       jdra.  W przypadku pliku, ktory nie ma praw uruchamiawania dla grupy (z
       wyzerowanym bitem S_IXGRP), bit S_ISGID oznacza obowizkowe blokowanie i
       nie jest zerowany przez chown.

WARTO ZWRACANA

       Po pomylnym zakoczeniu zwracane jest zero. W wypadku bldu zwracane jest
       -1 i odpowiednio ustawiane errno.

B/LDY

       Dla  niektorych  systemow  plikow  mog by zwracane inne bldy ni opisane
       poniej. Najogolniejsze bldy chown to:

       EPERM  Efektywny UID nie odpowiada wlacicielowi pliku i nie jest  zerem
              albo owner lub group zostaly podane nieprawidlowo.

       EROFS  Podany  plik  znajduje si na systemie plikow przeznaczonym tylko
              do odczytu.

       EFAULT path wskazuje poza dostpn dla uytkownika przestrze adresow.

       ENAMETOOLONG
              path jest zbyt dlugie.

       ENOENT Plik nie istnieje.

       ENOMEM Brak pamici jdra.

       ENOTDIR
              Skladnik cieki nie jest katalogiem.

       EACCES Brak praw do przeszukiwania dla skladnika cieki.

       ELOOP  Podczas  rozwizywania   path   napotkano   zbyt   wiele   dowiza
              symbolicznych.

       Ogolne bldy dla fchown to:

       EBADF  Deskryptor pliku jest nieprawidlowy.

       ENOENT Zobacz wyej.

       EPERM  Zobacz wyej.

       EROFS  Zobacz wyej.

       EIO    Niskopoziomowy bld we/wy podczas modyfikacji i-wzla.

UWAGI

       W  wersjach  jdra  Linuksa poniej 2.1.81 (i ronych od 2.1.46) chown nie
       poda za dowizaniami symbolicznymi.  Od wersji 2.1.81 Linuksa chown poda
       za   dowizaniami   symbolicznymi,  zostala  take  dodana  nowa  funkcja
       systemowa lchown, ktora nie  poda  za  dowizaniami  symbolicznymi.   Od
       wersji  2.1.86  Linuksa,  ta  nowa  funkcja (majca tak sam semantyk jak
       stare chown) ma taki sam numer funkcji, a chown otrzymala nowy numer.

       Prototyp  dla  fchown  jest  dostpny  jedynie,  gdy  zdefiniowane  jest
       _BSD_SOURCE  (bezporednio,  albo porednio - nie definiujc _POSIX_SOURCE
       czy kompilujc z wlczon flag -ansi).

ZGODNE Z

       Funkcja chown jest zgodna z SVr4, SVID, POSIX,  X/OPEN.  Wersja  4.4BSD
       moe   by   uywana  tylko  przez  superuytkownika  (to  znaczy  normalni
       uytkownicy nie mog "podarowa" nikomu plikow).   SVr4  dokumentuje  bldy
       EINVAL,  EINTR,  ENOLINK  i  EMULTIHOP,  lecz  nie  dokumentuje ENOMEM.
       POSIX.1 nie dokumentuje bldow ENOMEM i ELOOP.

       Funkcja fchown jest  zgodna  z  4.4BSD  oraz  SVr4.   SVr4  dokumentuje
       dodatkowe bldy EINVAL, EIO, EINTR i ENOLINK.

OGRANICZENIA

       Semantyka  chown()  jest pogwalcona na systemach plikow NFS, z wlczonym
       mapowaniem UID. Dodatkowo,  semantyka  wszystkich  wywola  systemowych,
       ktore  uzyskuj  dostp  do  zawartoci plikow jest dla NFS pogwalcona, bo
       chown()  moe  spowodowa  natychmiastowe  uniewanienie  dostpu   do   ju
       otwartych   plikow.   Buforowanie  po  stronie  klienta  moe  spowodowa
       oponienie moliwoci uzyskania dostpu do pliku przez  uytkownikow  innych
       stacji  klienckich  w  stosunku  do  chwili dokonania zmiany wlaciciela
       umoliwiajcej ten dostp.

ZOBACZ TAKE

       chmod(2), flock(2)

INFORMACJE O T/LUMACZENIU

       Powysze tlumaczenie pochodzi z nieistniejcego ju  Projektu  Tlumaczenia
       Manuali  i  moe nie by aktualne. W razie zauwaenia ronic midzy powyszym
       opisem a rzeczywistym zachowaniem  opisywanego  programu  lub  funkcji,
       prosimy o zapoznanie si z oryginaln (angielsk) wersj strony podrcznika.