fchown

CHOWN(2)                 Podręcznik programisty Linuksa                 CHOWN(2)



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



Linux 2.1.81                       1997-05-18                           CHOWN(2)