Ero sivun ”Chroot” versioiden välillä
Siirry navigaatioon
Siirry hakuun
chroot-vankila: vaatii hieman enemmän
p (suoraan voi käyttää -t prociakin) |
LP (keskustelu | muokkaukset) (chroot-vankila: vaatii hieman enemmän) |
||
Rivi 1: | Rivi 1: | ||
[[Komentorivi]]komennolla chroot voi käynnistää ohjelmia siten, että ne | [[Komentorivi]]komennolla chroot voi käynnistää ohjelmia siten, että ne näkevät jonkun nykyisen tiedostojärjestelmän alihakemistoa [[juurihakemisto]]kseen. | ||
Jotta ohjelmat toimisivat uudella juurihakemistossa, siinä on oltava ainakin minimaalinen järjestelmä, sisältäen tarvittavat ohjelmat, niiden tarvitsemat kirjastot 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 | Esimerkiksi polun <tt>/mnt/distro</tt> muuttaminen juureksi ja [[bash]]-shellin käynnistäminen siinä onnistuu komennolla | ||
chroot /mnt/distro /bin/bash | 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/- ja /sys-[[Linuxin hakemistorakenne|hakemistot]] myös chrootissa olevan jakelun juurihakemistoon ongelmien välttämiseksi: | 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: | ||
Rivi 10: | Rivi 20: | ||
mount -o bind /sys /mnt/distro/sys | mount -o bind /sys /mnt/distro/sys | ||
Chroot-tilasta palataan normaalitilaan | Chroot-tilasta palataan normaalitilaan poistumalla chrootilla käynnistetystä ohjelmasta: | ||
exit | exit | ||