Chroot

From ICO wiki
Revision as of 16:08, 27 November 2015 by Aerik (talk | contribs)
Jump to navigationJump to search

Ardo Erik A21 2015


Sissejuhatus

Chroot on käsk millega on võimalik muuta juurkausta. Juurkaust on kõikide süsteemis paiknevate failide kõige esimene ehk ülemine kaust millest kõrgemale enam minna ei saa. Vaikimisi on juurkaustaks "/" ehk kaldkriips.Chroot käsku kasutatakse isoleeritud ja turvalise keskkonna loomiseks, mis on kogu muust süsteemist eraldatud. Seal keskkonnas käivitatud protsessid töötavad ainult sellele määratud asukohas ning nad ei päääse ülejäänud süsteemile ligi. Chroot'i poolt eraldatud keskkonda kutsutakse "chroot jail"[1]

Chroot käsku kasutatakse eelkõige testimiseks aga ka turvalisuse pärast. Tuleb meeles pidada, et kuigi selline isoleeritud keskkond on üldiselt turvaline kuna ta on muust süsteemist täiesti eraldatud, on siiski õigete tingimuste kokkulangemisel, harvadel juhtudel, sealt võimalik ka välja saada.


Keskkonna loomine

Kõigepealt tuleb üle minna root kasutajaks

sudo -i

Seejärel tuleks installid pakid nimega "schroot" ja "debootstrap"

apt-get install schroot debootstrap

Siis vali endale uus juurkaust, mida chroot kasutama hakkab. Antud näites luuakse test kaust.

mkdir /test

Nüüd peab scroot konfiguratsiooni muutma.

nano /etc/schroot/schroot.conf

Konfiguratsioonis tuleb kirjeldada, kuidas chroot keskkond hakkab välja nägema. Mina olen valinud installimiseks Lucid Lynx (Ubuntu versioon 10.04). Kindlasti kontrolli, et location rida viitakse sinu valitud uue juurkausta asukohale.

[lucid]
description=Ubuntu Lucid
location=/test
priority=3
users=demo
groups=sbuild
root-groups=root

Nüüd on vaja eelnevalt kirjeldatud informatsioon ära installida. Pane tähele et amd64 on konkreetse süsteemi arhitektuur, lucid on konfiguratsioonis kirjeldatud keskkond ja /test/ on uue juurkausta täisteekond.

debootstrap --variant=buildd --arch amd64 lucid /test/ http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive/

Nüüd on meile kõik ettevalmistused tehtud ja saab chroot käsku kasutama hakata

chroot /test/

Käsu edukalt sisestades tundub, et midagi pole muutnud aga tegelikult oled valinud uue juurkausta. Selle kontrollimiseks tee järgnevat:

cd /
ls -di

Saades tagasi mistahes numbri peale 2 on kõik läinud plaanipäraselt.

Sealt väljumiseks ja endise juurkausta valimiseks kirjuta

exit

[2][3]


Lisaseaded

Kui chroot algselt paigaldada siis tuleb temaga kaasa minimaalselt funktsioone. Rohkemate võimaluste lisamiseks on vaja paar käsku kirjutada.

NB! Kõik järgnevad käsud tuleb sisestada tavalise juurkasutaja alt!

DNSi lisamiseks chrootile tuleb kirjutada järgmine käsk:

sudo cp /etc/resolv.conf /test/etc/resolv.conf

See kopeerib resolv.conf faili, kus hoitakse internetti minemiseks vajaliku informatsiooni meie teise juurkausta.

Kuna me tahame kasutada käske nagu "kill" ning teise haldamiseks vajalike käske siis on vaja külgehaakida /proc failisüsteem.

sudo mount -o bind /proc /var/chroot/proc

Lingid

1 http://www.freebsd.org/cgi/man.cgi?query=chroot&sektion=2

2 https://www.digitalocean.com/community/tutorials/how-to-configure-chroot-environments-for-testing-on-an-ubuntu-12-04-vps

3 https://help.ubuntu.com/community/BasicChroot