Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Chroot sa často používa na vytvorenie obmedzeného prostredia pre proces alebo skupinu procesov. Napríklad proces webového servera môže byť chrootovaný do vlastného adresára, takže nemá prístup k žiadnym iným súborom na serveri. To môže pomôcť zlepšiť bezpečnosť tým, že zabráni napadnutiu webového servera používateľom so zlými úmyslami.
Chroot možno použiť aj na vytvorenie karantény pre nedôveryhodný kód. Používateľ môže napríklad chcieť spustiť program stiahnutý z internetu v chrootovanom prostredí, aby zabránil poškodeniu jeho systému.
Ak chcete použiť chroot, proces musí mať schopnosť CAP_SYS_CHROOT. Táto schopnosť sa bežne poskytuje procesom spusteným ako root.
Syntax systémového volania chroot je:
`int chroot(const char *cesta);`
kde:
pathname:Cesta k novému koreňovému adresáru.
Tu je príklad, ako používať chroot:
```
#include
#include
#include
int main()
{
// Zmeňte koreňový adresár na /tmp
if (chroot("/tmp") ==-1) {
chyba("chroot");
exit(EXIT_FAILURE);
}
// Vytlačí aktuálny pracovný adresár
char cwd[1024];
if (getcwd(cwd, sizeof(cwd)) ==NULL) {
pererror("getcwd");
exit(EXIT_FAILURE);
}
printf("Aktuálny pracovný adresár:%s\n", cwd);
návrat EXIT_SUCCESS;
}
```
Keď je tento program spustený, vytlačí nasledujúci výstup:
```
Aktuálny pracovný adresár:/tmp
```
To ukazuje, že aktuálny pracovný adresár bol zmenený na /tmp.