GNU/Linux >> Znalost Linux >  >> Linux

Co je to chroot jail a jak jej používat?

Úvod

Termín chroot vězení sahá až do roku 1992 a dnes se často používá. Co ale tento termín znamená a k čemu se tato operace používá?

V tomto tutoriálu probereme základy používání chrootových vězení a ukážeme vám, jak je můžete nastavit.

Předpoklady

  • Systém s operačním systémem Linux nebo Unix
  • Uživatelský účet s oprávněními na úrovni sudo
  • Přístup k terminálu/příkazovému řádku

Co je chroot vězení?

chroot (zkratka pro změnit kořen ) je unixová operace, která změní zjevný kořenový adresář na adresář určený uživatelem.

Jakýkoli proces, který spustíte po operaci chroot, má přístup pouze k nově definovanému kořenovému adresáři a jeho podadresářům. Tato operace je hovorově známá jako chroot vězení protože tyto procesy nemohou číst ani zapisovat mimo nový kořenový adresář.

K čemu se používá chroot jail?

Chroot vězení se používá k vytvoření omezeného sandboxu pro proces, ve kterém se má spustit. To znamená, že proces nemůže se zlými úmysly měnit data mimo předepsaný strom adresářů.

Další použití pro chroot vězení je jako náhrada za virtuální stroje. Tato metoda se nazývá virtualizace na úrovni jádra a vyžaduje méně prostředků než virtuální stroje. Tato operace umožňuje uživatelům vytvářet více izolovaných instancí na stejném systému.

Jak používat chroot vězení

Tento příklad vás provede vytvořením a nastavením chroot jail, aby mohl spouštět bash a ls příkazy.

Postupujte takto:

1. Vytvořte nový adresář s názvem chroot_jail :

mkdir chroot_jail

Pokud se pokusíme o chroot do nového adresáře získáme následující výstup:

Musíte povolit bash než budete moci chroot do nového adresáře. To vyžaduje zkopírování příkazového souboru a všech souvisejících knihoven do nového kořenového adresáře.

2. Vytvořte nový strom podadresářů v chroot_jail :

mkdir -p chroot_jail/bin chroot_jail/lib64/x86_64-linux-gnu chroot_jail/lib/x86_64-linux-gnu

Tyto podadresáře budou uchovávat všechny potřebné prvky bash a ls příkazy.

3. Pomocí cp pomocí příkazu which příkaz umožňuje zkopírovat bash a ls příkazy bez zadání cesty, ze které kopírujete.

Chcete-li to provést, použijte:

cp $(which ls) chroot_jail/bin/
cp $(which bash) chroot_jail/bin/

4. Pro bash a ls chcete-li pracovat v nové kořenové složce, přidejte všechny přidružené knihovny do chroot_jail/libraries . Použijte ldd příkaz ke zjištění, které knihovny jsou přidruženy ke kterému příkazu:

ldd $(which bash)
ldd $(which ls)

5. Zkopírujte příslušné knihovny do chroot_jail podadresáře lib a lib64 .

Pro bash příkaz:

cp /lib/x86_64-linux-gnu/libtinfo.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libdl.so.2 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libc.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib64/ld-linux-x86-64.so.2 chroot_jail/lib64/

Pro ls příkaz:

cp /lib/x86_64-linux-gnu/libselinux.so.1 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libc.so.6 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libpcre2-8.so.0 chroot_jail/lib/x86_64-linux-gnu/
cp /lib/x86_64-linux-gnu/libdl.so.2 chroot_jail/lib/x86_64-linux-gnu/
cp /lib64/ld-linux-x86-64.so.2 chroot_jail/lib64/
cp /lib/x86_64-linux-gnu/libpthread.so.0 chroot_jail/lib/x86_64-linux-gnu/

6. Použijte chroot příkaz ke změně kořenového adresáře na chroot_jail adresář:

sudo chroot chroot_jail

Použijte ls příkaz k zobrazení seznamu všech souborů a adresářů v novém stromu kořenových adresářů:

ls -R

7. Jakmile dokončíte používání nové kořenové složky, ukončete shell:

exit

Linux
  1. Co je příkaz Chown v Linuxu a jak jej používat

  2. Co je a jak používat složku public_ftp

  3. Co je soubor u-Boot dtb a jak jej mohu použít (BeagleBoard xM)?

  1. Co je příkaz cURL a jak jej používat?

  2. Chroot „vězení“ – co to je a jak jej používat?

  3. Jak spouštět služby DNS a FTP v chrootovém vězení

  1. Co je Umask a jak jej používat

  2. Příkaz lspci:Co to je a jak jej používat

  3. Co je Build-Essential-Ubuntu, jak jej nainstalovat a používat?