Nykyinen versio |
Oma tekstisi |
Rivi 1: |
Rivi 1: |
| {{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}}
| | [[Komentorivi]]komennolla chroot voi käynnistää ohjelmia siten, että ne luulevat jonkun nykyisen tiedostojärjestelmän alihakemistoa [[juurihakemisto]]kseen. |
| '''chroot'''-[[Komentorivi|komennolla]] voi käynnistää ohjelmia siten, että ne näkevät jonkun nykyisen tiedostojärjestelmän alihakemistoa [[juurihakemisto]]kseen.
| |
|
| |
|
| Jotta ohjelmat toimisivat uudessa juurihakemistossa, on siinä oltava ainakin minimaalinen järjestelmä, sisältäen tarvittavat ohjelmat, niiden tarvitsemat [[kirjasto]]t ja muut aputiedostot sekä joitakin keskeisiä tiedostoja, kuten yleensä (muunnettu) /etc/[[passwd-tiedosto|passwd]]. Jos komentoa käytetään turvallisuuden parantamiseksi, hakemistorakenteen sisällön pitää kuitenkin olla mahdollisimman vähäinen. Ylimääräisiä ohjelmakirjastoja voi välttää [[kääntäminen|kääntämällä]] ohjelmia niin, että niihin sisältyy tarvittavat kirjastot tai valitsemalla ohjelmia, jotka eivät tarvitse kuin muutamia kirjastoja.
| | Esimerkiksi polun <tt>/mnt/distro</tt> muuttaminen juureksi ja [[bash]]-shellin käynnistäminen siinä onnistuu komennolla |
| | chroot /mnt/distro /bin/bash |
|
| |
|
| Esimerkiksi polun <tt>/mnt/distro</tt> muuttaminen juureksi ja [[bash]]-komentotulkin käynnistäminen siinä onnistuu komennolla
| | Jos ajat kokonaista jakelua chrootin alaisuudessa, kannattaa [[Mount|liittää]] /[[proc]]-, [[laitetiedostot|/dev-]], /dev/pts/- ja /sys-[[Linuxin hakemistorakenne|hakemistot]] myös chrootissa olevan jakelun juurihakemistoon ongelmien välttämiseksi: |
| chroot /mnt/distro /bin/[[bash]]
| |
| | |
| Hieman pidemmällä kaavalla, jos tarkoitus on ajaa tietty ohjelma rajoitetussa ympäristössä:
| |
| [[cd]] /mnt/jail
| |
| chroot .
| |
| cd .
| |
| [[su]] - -c '/bin/[[dash]]' [[Käyttäjä|tunnus]]
| |
| | |
| Tällä jälkimmäisellä tavalla varmistetaan, ettei ohjelmalla (tässä tapauksessa dash) ole avoimia tiedostoja uuden hakemistorakenteen ulkopuolella, kuten [[työhakemisto]] (josta löytyy .. ja sitä kautta koko tavallinen hakemistorakenne). Lisäksi ohjelma ajetaan toisena käyttäjänä, koska pääkäyttäjä voi helposti poistua chroot-vankilasta esimerkiksi luomalla [[Laitetiedostot|laitetiedostoja]] tai uuden vankilan alihakemistoon.
| |
| | |
| Jos ajat kokonaista jakelua chrootin alaisuudessa, kannattaa [[Mount|liittää]] /[[proc]]-, [[laitetiedostot|/dev-]], /dev/pts/-, /sys- ja /run-[[Linuxin hakemistorakenne|hakemistot]] myös chrootissa olevan jakelun juurihakemistoon ongelmien välttämiseksi: | |
| mount -t proc proc /mnt/distro/proc | | mount -t proc proc /mnt/distro/proc |
| mount -o bind /dev /mnt/distro/dev | | mount -o bind /dev /mnt/distro/dev |
| mount -o bind /dev/pts /mnt/distro/dev/pts | | mount -o bind /dev/pts /mnt/distro/dev/pts |
| mount -o bind /sys /mnt/distro/sys | | mount -o bind /sys /mnt/distro/sys |
| mount -o bind /run /mnt/distro/run
| |
|
| |
|
| Chroot-tilasta palataan normaalitilaan poistumalla chrootilla käynnistetystä ohjelmasta: | | Chroot-tilasta palataan normaalitilaan komennolla |
| exit | | exit |
|
| |
|
Rivi 31: |
Rivi 19: |
| [[Luokka:Coreutils]] | | [[Luokka:Coreutils]] |
| [[Luokka:Komentorivin perustyökalut]] | | [[Luokka:Komentorivin perustyökalut]] |
|
| |
| [[pl:Chroot]]
| |