Rechercher une page de manuel

Chercher une autre page de manuel:

fchmod

Autres langues

Langue: pl

Version: 1997-12-10 (ubuntu - 01/11/07)

Section: 2 (Appels système)

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

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)
Nous ne désirerions guère de choses avec ardeur,
si nous connaissions parfaitement ce que nous désirons.
-+- François de La Rochefoucauld (1613-1680), Maximes 439 -+-