Chroot: Difference between revisions
No edit summary |
|||
Line 60: | Line 60: | ||
Uuel juurkasutajal ei ole meie algseid reposi. Nende lisamisek tee järgnevat: | Uuel juurkasutajal ei ole meie algseid reposi. Nende lisamisek tee järgnevat: | ||
<pre>cat /etc/apt/sources.list >> /test/etc/apt/sources.list</pre> | <pre>cat /etc/apt/sources.list >> /test/etc/apt/sources.list</pre> | ||
[3] | |||
=MMap error= | =MMap error= |
Revision as of 17:29, 27 November 2015
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
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!
Võib juhtuda, et teises juurkaustas olles ei ole interneti ühendust. Selle parandamiseks peab DNSi tööle saama. DNSi lisamiseks chrootile tuleb kirjutada järgmine käsk:
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", "top" ning teisi haldamiseks vajalike käske siis on vaja külgehaakida /proc failisüsteem.
mount -o bind /proc /test/proc
Uuel juurkasutajal ei ole meie algseid reposi. Nende lisamisek tee järgnevat:
cat /etc/apt/sources.list >> /test/etc/apt/sources.list
[3]
MMap error
Võib juhtuda, et chroot keskkonnas toimetades ja pakke installides tuleb MMAP error:
Reading package lists... Error! E: Dynamic MMap ran out of room.
Siis tuleb avada konkreetne tekstifail
nano/etc/apt/apt.conf.d/70debconf
Lisada faili selline rida
APT::Cache-Limit "100000000";
ning lõpuks
sudo apt-get clean sudo apt-get update --fix-missing
Graafiline interface
In other words, in the chroot shell type
export DISPLAY=:0.0
And in the system shell type
xhost +
Any X command you type will now get its own window as you're used to, but as it is running inside the chroot jail it will not be able to see your normal file system.
You don't have to enter the chroot shell to access its commands. Suppose you want to run Firefox in a chroot jail in order to avoid security problems with signed Java applets and other components which otherwise would have access to your personal files. You can do this by running the command
gksudo chroot /var/chroot firefox -DISPLAY=:0.0
This command can also be invoked from the menu, or a panel applet or desktop shortcut.
Lingid
1 http://www.freebsd.org/cgi/man.cgi?query=chroot&sektion=2