Scroll to navigation

CHROOT(2) п═я┐п╨п╬п╡п╬п╢я│я┌п╡п╬ п©я─п╬пЁя─п╟п╪п╪п╦я│я┌п╟ Linux CHROOT(2)

п≤п°п╞

chroot - п╦п╥п╪п╣п╫п╦я┌я▄ п╨п╬я─п╫п╣п╡п╬п╧ п╨п╟я┌п╟п╩п╬пЁ

п·п▒п≈п·п═

#include <unistd.h>

int chroot(const char *path);

п·п÷п≤п║п░п²п≤п∙

chroot() п╦п╥п╪п╣п╫я▐п╣я┌ п╨п╬я─п╫п╣п╡п╬п╧ п╨п╟я┌п╟п╩п╬пЁ п╡я▀п╥я▀п╡п╟я▌я┴п╣пЁп╬ п©я─п╬я├п╣я│я│п╟ п╫п╟ я┌п╬я┌, я┤я┌п╬ п╥п╟п╢п╟п╫ п╟я─пЁя┐п╪п╣п╫я┌п╬п╪ path. п╜я┌п╬я┌ п╨п╟я┌п╟п╩п╬пЁ п╠я┐п╢п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄я│я▐ п╢п╩я▐ п╦п╪я▒п╫ я└п╟п╧п╩п╬п╡, п╫п╟я┤п╦п╫п╟я▌я┴п╦я┘я│я▐ я│ /. п п╬я─п╫п╣п╡п╬п╧ п╨п╟я┌п╟п╩п╬пЁ п╫п╟я│п╩п╣п╢я┐п╣я┌я│я▐ п╡я│п╣п╪п╦ п©п╬я┌п╬п╪п╨п╟п╪п╦ п╡я▀п╥я▀п╡п╟я▌я┴п╣пЁп╬ п©я─п╬я├п╣я│я│п╟.

п╒п╬п╩я▄п╨п╬ п©я─п╦п╡п╦п╩п╣пЁп╦я─п╬п╡п╟п╫п╫я▀п╧ п©я─п╬я├п╣я│я│ (Linux: я│ п╪п╟п╫п╢п╟я┌п╬п╪ CAP_SYS_CHROOT) п╪п╬п╤п╣я┌ п╡я▀п╥п╡п╟я┌я▄ chroot().

п╜я┌п╬я┌ п╡я▀п╥п╬п╡ п╦п╥п╪п╣п╫я▐п╣я┌ я┌п╬п╩я▄п╨п╬ я│п╬я│я┌п╟п╡п╩я▐я▌я┴я┐я▌ п©я─п╬я├п╣я│я│п╟ я─п╟п╥я─п╣я┬п╣п╫п╦я▐ п╦п╪я▒п╫ п╦ п╠п╬п╩я▄я┬п╣ п╫п╦я┤п╣пЁп╬.

п■п╟п╫п╫я▀п╧ п╡я▀п╥п╬п╡ п╫п╣ п╦п╥п╪п╣п╫я▐п╣я┌ я┌п╣п╨я┐я┴п╦п╧ я─п╟п╠п╬я┤п╦п╧ п╨п╟я┌п╟п╩п╬пЁ, п©п╬я█я┌п╬п╪я┐ п©п╬я│п╩п╣ п╡я▀п╥п╬п╡п╟ '.' п╪п╬п╤п╣я┌ п╬п╨п╟п╥п╟я┌я▄я│я▐ п╡п╫п╣ п╢п╣я─п╣п╡п╟, я▐п╡п╩я▐я▌я┴п╣пЁп╬я│я▐ п╨п╬я─п╫п╣п╪ '/'. п▓ я┤п╟я│я┌п╫п╬я│я┌п╦, я│я┐п©п╣я─п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▄ п╪п╬п╤п╣я┌ п╡я▀п╧я┌п╦ п╥п╟ п©я─п╣п╢п╣п╩я▀ "я┌я▌я─я▄п╪я▀ chroot" п╡я▀п©п╬п╩п╫п╦п╡:


mkdir foo; chroot foo; cd ..

п■п╟п╫п╫я▀п╧ п╡я▀п╥п╬п╡ п╫п╣ п╥п╟п╨я─я▀п╡п╟п╣я┌ п╬я┌п╨я─я▀я┌я▀п╣ я└п╟п╧п╩п╬п╡я▀п╣ п╢п╣я│п╨я─п╦п©я┌п╬я─я▀ п╦ п©п╬я█я┌п╬п╪я┐ я┤п╣я─п╣п╥ я┌п╟п╨п╦п╣ п╢п╣я│п╨я─п╦п©я┌п╬я─я▀ п╪п╬п╤п╫п╬ п©п╬п╩я┐я┤п╦я┌я▄ п╢п╬я│я┌я┐п© п╨ я└п╟п╧п╩п╟п╪ п╥п╟ п©я─п╣п╢п╣п╩п╟п╪п╦ п╢п╣я─п╣п╡п╟ chroot.

п▓п·п≈п▓п═п░п╘п░п∙п°п·п∙ п≈п²п░п╖п∙п²п≤п∙

п÷я─п╦ я┐я│п©п╣я┬п╫п╬п╪ п╡я▀п©п╬п╩п╫п╣п╫п╦п╦ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐ 0. п▓ я│п╩я┐я┤п╟п╣ п╬я┬п╦п╠п╨п╦ п╡п╬п╥п╡я─п╟я┴п╟п╣я┌я│я▐ -1, п╟ errno я┐я│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣я┌я│я▐ п╡ я│п╬п╬я┌п╡п╣я┌я│я┌п╡я┐я▌я┴п╣п╣ п╥п╫п╟я┤п╣п╫п╦п╣.

п·п╗п≤п▒п п≤

п▓ п╥п╟п╡п╦я│п╦п╪п╬я│я┌п╦ п╬я┌ я└п╟п╧п╩п╬п╡п╬п╧ я│п╦я│я┌п╣п╪я▀ п╪п╬пЁя┐я┌ п╠я▀я┌я▄ п╡п╬п╥п╡я─п╟я┴п╣п╫я▀ п╢я─я┐пЁп╦п╣ п╬я┬п╦п╠п╨п╦. п²п╟п╦п╠п╬п╩п╣п╣ я─п╟я│п©я─п╬я│я┌я─п╟п╫я▒п╫п╫я▀п╣ п╬я┬п╦п╠п╨п╦ п©п╣я─п╣я┤п╦я│п╩п╣п╫я▀ п╢п╟п╩п╣п╣:

п÷п╬п╦я│п╨ п╥п╟п©я─п╣я┴я▒п╫ п╦п╥-п╥п╟ п╬п╢п╫п╬пЁп╬ п╦п╥ я┤п╟я│я┌п╣п╧ п©я─п╣я└п╦п╨я│п╟ п©я┐я┌п╦ (п║п╪. я┌п╟п╨п╤п╣ path_resolution(7).)
п░я─пЁя┐п╪п╣п╫я┌ path я┐п╨п╟п╥я▀п╡п╟п╣я┌ п╥п╟ п©я─п╣п╢п╣п╩я▀ п╢п╬я│я┌я┐п©п╫п╬пЁп╬ п╟п╢я─п╣я│п╫п╬пЁп╬ п©я─п╬я│я┌я─п╟п╫я│я┌п╡п╟.
п÷я─п╬п╦п╥п╬я┬п╩п╟ п╬я┬п╦п╠п╨п╟ п╡п╡п╬п╢п╟-п╡я▀п╡п╬п╢п╟.
п▓п╬ п╡я─п╣п╪я▐ п╬п©я─п╣п╢п╣п╩п╣п╫п╦я▐ path п╡я│я┌я─п╣я┌п╦п╩п╬я│я▄ я│п╩п╦я┬п╨п╬п╪ п╪п╫п╬пЁп╬ я│п╦п╪п╡п╬п╩я▄п╫я▀я┘ я│я│я▀п╩п╬п╨.
path я│п╩п╦я┬п╨п╬п╪ п╢п╩п╦п╫п╣п╫.
п╓п╟п╧п╩ п╫п╣ я│я┐я┴п╣я│я┌п╡я┐п╣я┌.
п²п╣п╢п╬я│я┌п╟я┌п╬я┤п╫п╬п╣ п╨п╬п╩п╦я┤п╣я│я┌п╡п╬ п©п╟п╪я▐я┌п╦ я▐п╢я─п╟.
п п╬п╪п©п╬п╫п╣п╫я┌ path п╫п╣ я▐п╡п╩я▐п╣я┌я│я▐ п╨п╟я┌п╟п╩п╬пЁп╬п╪.
пё п╡я▀п╥п╡п╟п╡я┬п╣пЁп╬ п©я─п╬я├п╣я│я│п╟ п╫п╣п╢п╬я│я┌п╟я┌п╬я┤п╫п╬ п©я─п╟п╡.

п║п·п·п╒п▓п∙п╒п║п╒п▓п≤п∙ п║п╒п░п²п■п░п═п╒п░п°

SVr4, 4.4BSD, SUSv2 (п╬я┌п╪п╣я┤п╣п╫п╟ п╨п╟п╨ пёп║п╒п░п═п∙п▓п╗п░п╞). п╜я┌п╟ я└я┐п╫п╨я├п╦я▐ п╫п╣ п╡я┘п╬п╢п╦я┌ п╡ POSIX.1-2001.

п≈п░п°п∙п╖п░п²п≤п╞

п■п╬я┤п╣я─п╫п╦п╧ п©я─п╬я├п╣я│я│, я│п╬п╥п╢п╟п╫п╫я▀п╧ п©п╬я│я─п╣п╢я│я┌п╡п╬п╪ fork(2), п╫п╟я│п╩п╣п╢я┐п╣я┌ п╨п╬я─п╫п╣п╡п╬п╧ п╨п╟я┌п╟п╩п╬пЁ я─п╬п╢п╦я┌п╣п╩я▄я│п╨п╬пЁп╬ п©я─п╬я├п╣я│я│п╟. п÷я─п╦ п╡я▀п╥п╬п╡п╣ execve(2) п╨п╬я─п╫п╣п╡п╬п╧ п╨п╟я┌п╟п╩п╬пЁ п╬я│я┌п╟я▒я┌я│я▐ п╫п╣п╦п╥п╪п╣п╫п╫я▀п╪.

п▓ FreeBSD п╣я│я┌я▄ п╠п╬п╩п╣п╣ п╬пЁя─п╟п╫п╦я┤п╦п╡п╟я▌я┴п╦п╧ я│п╦я│я┌п╣п╪п╫я▀п╧ п╡я▀п╥п╬п╡ jail().

п║п°п·п╒п═п≤п╒п∙ п╒п░п п√п∙

chdir(2), path_resolution(7)

2008-06-23 Linux