Provided by:
manpages-pl-dev_20051117-1_all 
NAZWA
chroot - zmiana katalogu głównego
SKŁADNIA
#include <unistd.h>
int chroot(const char *path);
OPIS
chroot zmienia katalog główny na katalog podany w path. Ten katalog
będzie używany do nazw ścieżek zaczynających się od /. Katalog główny
jest dziedziczony przez wszystkie procesy potomne bieżącego procesu.
Funkcję chroot(2) może wywołać tylko proces uprzywilejowany (pod
Linuksem: ten ze zdolnością CAP_SYS_CHROOT).
Funkcja ta zmienia tylko składniki w procesie rozwiązywania nazw plików
i nie robi nic poza tym.
Funkcja ta nie zmienia bieżącego katalogu roboczego, więc `.' może
znajdować się poza drzewem zakorzenionym w `/'. W szczególności,
superużytkownik może uciec `uwięzienia w chroot' wykonując `mkdir foo;
chroot foo; cd ..'.
Funkcja ta nie zamyka otwartych deskryptorów plików, więc takie
deskryptory plików mogą zezwalać na dostęp poza nowym drzewem
zakorzenionym w `/'.
WARTOŚĆ ZWRACANA
Po pomyślnym zakończeniu zwracane jest zero. w przypadku 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 to:
EACCES Brak praw do przeszukiwania dla składowej ścieżki. (Patrz także
path_resolution(2)).
EFAULT path wskazuje poza dostępną dla użytkownika przestrzeń adresową.
EIO Wystąpił błąd we/wy.
ELOOP Podczas rozwiązywania path napotkano zbyt wiele dowiązań
symbolicznych.
ENAMETOOLONG
path jest zbyt długie.
ENOENT Plik nie istnieje.
ENOMEM Brak pamięci jądra.
ENOTDIR
Składowa ścieżki path nie jest katalogiem.
EPERM Efektywny UID nie jest zerem.
ZGODNE Z
SVr4, SVID, 4.4BSD, X/OPEN. Ta funkcja nie jest częścią POSIX.1. SVr4
dokumentuje dodatkowe błędy EINTR, ENOLINK i EMULTIHOP. X/OPEN nie
dokumentuje błędów EIO, ENOMEM i EFAULT. Interfejs ten jest oznaczany
jako spadek po X/OPEN.
UWAGI
FreeBSD ma silniejszą funkcję systemową jail().
ZOBACZ TAKŻE
chdir(2), path_resolution(2)