Rechercher une page de manuel
fchmod
Langue: pl
Version: 1997-12-10 (ubuntu - 01/11/07)
Section: 2 (Appels système)
NAZWA
chmod, fchmod - zmiana praw do plikuSK£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
si nous connaissions parfaitement ce que nous désirons.
-+- François de La Rochefoucauld (1613-1680), Maximes 439 -+-
Contenus ©2006-2008 Benjamin Poulain
Design ©2006-2008 Maxime Vantorre