Provided by:
manpages-pl-dev_20060617-3_all 
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.