Ero sivun ”Chroot” versioiden välillä
Siirry navigaatioon
Siirry hakuun
otsikko pienellä
p (Käyttöjärjestelmäystävällisemmät liitokset chroot-"vankilassa") |
(otsikko pienellä) |
||
(13 välissä olevaa versiota 9 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
{{DISPLAYTITLE:{{lcfirst:{{PAGENAME}}}}}} | |||
'''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. | |||
Jos ajat kokonaista jakelua chrootin alaisuudessa, kannattaa [[Mount|liittää]] /proc-, /dev-, /dev/pts/- ja / | Esimerkiksi polun <tt>/mnt/distro</tt> muuttaminen juureksi ja [[bash]]-komentotulkin käynnistäminen siinä onnistuu komennolla | ||
mount - | 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 -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 | Chroot-tilasta palataan normaalitilaan poistumalla chrootilla käynnistetystä ohjelmasta: | ||
exit | exit | ||
Rivi 19: | Rivi 31: | ||
[[Luokka:Coreutils]] | [[Luokka:Coreutils]] | ||
[[Luokka:Komentorivin perustyökalut]] | [[Luokka:Komentorivin perustyökalut]] | ||
[[pl:Chroot]] |