Chroot
From Wikipedia, the free encyclopedia
Remove ads
A chroot egy Unix és Unix-szerű operációs rendszereken elérhető parancs és rendszerhívás, amely egy adott folyamat és annak leszármazott folyamatai számára megváltoztatja a gyökérkönyvtár (/) elérési útját egy új, a fájlrendszeren belül meghatározott helyre. Ez a folyamat lehet az interaktív shell is. Az ebben a módosított környezetben futtatott program nem látja a kijelölt könyvtárfán kívüli fájlokat, így általában nem is fér hozzájuk. Ezt a megváltoztatott környezetet chroot jail-nek (börtönnek) is nevezik, mivel a folyamat számára a fájlrendszer többi része láthatatlanná és elérhetetlenné válik. Általában könnyen megkerülhető, önmagában nem számít komoly biztonsági intézkedésnek.
A legtöbb Linux telepítőmédia és LiveCD (illetve Live USB) alapvető része, mivel kulcsfontosságú a rendszerek telepítésénél és helyreállításánál. A telepítőkészlet a chroot segítségével a feltelepített rendszeren tud parancsokat végrehajtani, amelyekkel a feltelepített rendszer kezdeti beállításait végzi.
Remove ads
Története
A chroot rendszerhívás 1979-ben jelent meg a Version 7 Unix (röviden V7) operációs rendszerben, ami a parancs első ismert implementációja.
A parancs szélesebb körű elterjedése Bill Joy nevéhez fűződik. Egy forrás szerint 1982. március 18-án, 17 hónappal a 4.2BSD hivatalos kiadása előtt adta hozzá a rendszerhez. A célja kifejezetten az volt, hogy a készülő operációs rendszer telepítő- és fordítási rendszerét egy ettől elszigetelt környezetben tesztelhesse.
Bár eredetileg fejlesztői eszköznek szánták, a fájlrendszer-izolációs képességei miatt hamarosan biztonsági célokra is alkalmazni kezdték, hogy potenciálisan sebezhető szolgáltatásokat (például FTP-szervereket) egy korlátozott „börtönbe” zárjanak egy sikeres támadás hatásainak enyhítésére. Ezzel a modern konténerizációs technológiák egyik fontos előfutárává vált.[1]
A chroot koncepcióját a FreeBSD bővítette tovább a virtualizáció hatékonyabb támogatása érdekében. A 2000-ben kiadott 4.0-s verziójukban bevezették a jail (börtön) parancsot, amely a chroot-nál egy jóval erősebb izolációt biztosít.[2]
Remove ads
Használata
A chroot rendkívül hasznos fejlesztői eszköz, főleg amikor szoftvereket fordítunk forráskódból. Használatával a fordítást egy izolált, "tiszta" környezetben végezhetjük el, amely független a saját rendszerünkön lévő programoktól és beállításoktól. Ezt a módszert széles körben alkalmazzák szoftvercsomagok vagy akár teljes Linux-rendszerek készítésekor, hogy elkerüljék a függőségi problémákat.
Szintaxis
chroot ÚJROOT [PARANCS...]
Egy program futtatásához nem elegendő maga a program. Szükség van minden olyan megosztott könyvtárra, konfigurációs fájlra és eszközfájlra, amelytől a program függ.
Ahhoz, hogy egy chroot környezet rendesen működjön, a gazdarendszerből át kell adni neki a szükséges fájlokat: a beállításokat át kell másolni, a kernel fontosabb rendszerfájljait pedig csatolni kell:
# Virtuális kernel-fájlrendszerek csatolása CHROOT_MAPPA="/chroot/user1" mount -t proc proc $CHROOT_MAPPA/proc mount -t sysfs sysfs $CHROOT_MAPPA/sys mount -t devtmpfs devtmpfs $CHROOT_MAPPA/dev mount -t tmpfs tmpfs $CHROOT_MAPPA/dev/shm mount -t devpts devpts $CHROOT_MAPPA/dev/pts # /etc/hosts másolása /bin/cp -f /etc/hosts $CHROOT_MAPPA/etc/ # /etc/resolv.conf másolása /bin/cp -f /etc/resolv.conf $CHROOT_MAPPA/etc/resolv.conf # /etc/mtab linkelése chroot $CHROOT_MAPPA rm /etc/mtab 2> /dev/null chroot $CHROOT_MAPPA ln -s /proc/mounts /etc/mtab
Sematikus ábra
'/' (root könyvtár) |---'/bin |---'/boot' |---'/cdrom' [...] | |---"/chroot" | -------------------[ chroot ]------------------ | |----"/chroot/user1" | | | | | |----"/chroot/user1/program" |
Remove ads
Források
- Chroot – HUPwiki. HUPwiki. [2011. május 5-i dátummal az eredetiből archiválva]. (Hozzáférés: 2025. augusztus 7.)
- T.J. O'Connor: Chroot-jail your applications for safety (angol nyelven). unixwiz.net. (Hozzáférés: 2025. augusztus 7.)
- chroot(8) — The FreeBSD System Manager's Manual (angol nyelven). The FreeBSD Project. (Hozzáférés: 2025. augusztus 7.)
Jegyzetek
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads