DOKK / manpages / debian 10 / manpages-pl-dev / chroot.2.pl
CHROOT(2) Podręcznik programisty Linuksa CHROOT(2)

chroot - zmiana katalogu głównego

#include <unistd.h>

int chroot(const char *path);

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 `/'.

Po pomyślnym zakończeniu zwracane jest zero. w przypadku błędu zwracane jest -1 i odpowiednio ustawiane errno .

Dla niektórych systemów plików mogą być zwracane inne błędy niż opisane poniżej. Najogólniejsze błędy to:

Brak praw do przeszukiwania dla składowej ścieżki. (Patrz także path_resolution(2)).
path wskazuje poza dostępną dla użytkownika przestrzeń adresową.
Wystąpił błąd we/wy.
Podczas rozwiązywania path napotkano zbyt wiele dowiązań symbolicznych.
path jest zbyt długie.
Plik nie istnieje.
Brak pamięci jądra.
Składowa ścieżki path nie jest katalogiem.
Efektywny UID nie jest zerem.

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.

FreeBSD ma silniejszą funkcję systemową jail().

chdir(2), path_resolution(2)

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/.

2004-06-23 Linux 2.6.7