Ero sivun ”Chroot” versioiden välillä
Siirry navigaatioon
Siirry hakuun
otsikko pienellä
Ei muokkausyhteenvetoa |
(otsikko pienellä) |
||
(15 välissä olevaa versiota 10 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- | Esimerkiksi polun <tt>/mnt/distro</tt> muuttaminen juureksi ja [[bash]]-komentotulkin käynnistäminen siinä onnistuu komennolla | ||
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/pts /mnt/distro/dev/pts | |||
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 16: | Rivi 31: | ||
[[Luokka:Coreutils]] | [[Luokka:Coreutils]] | ||
[[Luokka:Komentorivin perustyökalut]] | [[Luokka:Komentorivin perustyökalut]] | ||
[[pl:Chroot]] |