NAZWA
chroot - zmiana katalogu głównego
SKŁADNIA
#include <unistd.h>
int chroot(const char *path);
OPIS
Uwaga! To tłumaczenie może być nieaktualne!
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
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 chroot
Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.