Debian

Kā lietot chroot Debian 10

Kā lietot chroot Debian 10
Pārbaudes vidē mums bieži ir jāpievieno noteiktas lietojumprogrammas smilškastē, lai tās nesabojātu vai nekontrolētu pārējo sistēmu. Ir pieejami dažādi rīki programmas smilškastei un novēršanai, ka tā ietekmē pārējo sistēmu, piemēram, VirtualBox, VMware, Xen, KVM utt. Tomēr tikai vienai vai dažām lietojumprogrammām visas OS smilškastē nešķiet praktiski.

Linux operētājsistēmai ir pieejams rīks, kas pazīstams kā chroot, kas nodrošina vieglāku un ātrāku veidu, kā smilškastīt lietojumprogrammu. Izmantojot chroot, jūs varat instalēt un pārbaudīt jebkuru lietojumprogrammu, neietekmējot pārējo sistēmu.

Šajā rakstā tiks izskaidrots, kā izmantot chroot Debian 10 Buster, kā arī daži piemēri. Skaidrojumam mēs izveidosim chroot vidi bash un dažām komandām, piemēram, komandām “ls”, “ip” un “pwd”.

Kas ir chroot?

Chroot rīks ir komanda Linux, kas maina lietojumprogrammas saknes direktoriju uz citu direktoriju. Procesi, kas darbojas šajā jaunajā saknes direktorijā, nevar piekļūt failiem ārpus tā. Tādējādi tas izolē lietojumprogrammu darbības no pārējās sistēmas.

Kā darbojas chroot?

Chroot darbojas, kopējot lietojumprogrammu un visus tās izpildāmos failus un atkarības alternatīvā saknes direktorijā. Pēc tam tā palaiž lietojumprogrammu no šī alternatīvā saknes direktorija, liekot lietojumprogrammai to uzskatīt par sākotnējo saknes direktoriju. Saknes direktorijs ir hierarhijas augšējais direktorijs, un neviena lietojumprogramma nevar sasniegt augstāk par šo direktoriju, tāpēc šādā veidā chroot izolē lietojumprogrammu no pārējās sistēmas.

Lietot lietas

Sintakse

Šī ir komandas chroot pamata sintakse:

$ chroot komandu

Veiciet tālāk norādītās darbības, lai izmantotu chroot komandu Debian, lai iestatītu chroot vidi.

1. Izveidojiet alternatīvu saknes direktoriju

Vispirms izveidojiet alternatīvu saknes direktoriju, ko izmantot chroot videi.

$ sudo mkdir ~ / new_root

Iepriekš minētā komanda izveidos new_root direktoriju zem Mājas direktoriju, kas tiks izmantots kā saknes direktorijs chroot vidē.

2. Pievienojiet būtiskos direktorijus

Zem mapes izveidojiet direktorijas “bin”, “lib” un “lib64” ~ / new_root direktorijs:

$ sudo mkdir -p ~ / new_root / bin, lib, lib64

3. Kopēt programmas bināros failus

Visam, kas nepieciešams, lai palaistu lietojumprogrammu chroot vidē, jābūt alternatīvajā saknes direktorijā. Šajā rakstā mēs izveidosim chroot vidi bash un dažām komandām, ieskaitot komandas “ls”, “ip” un “pwd”. Tāpēc mēs kopēsim bināros failus no / bin direktoriju uz aizstājēju ~ / new_root / bin direktorijā. Lai atrastu komandu bināros failus, izmantojiet komandu:

$ kas bash ls ip pwd

Pēc tam kopējiet komandu bināros failus uz ~ / new_root / bin direktorijā.

$ sudo cp -v / bin / bash, ls, ip, pwd ~ / new_root / bin

4. Kopēt programmas atkarības

Mums būs arī jānoskaidro, kādas atkarības ir nepieciešamas mūsu programmai. Pirmkārt, mums būs jāatrod, kādas ir šīs atkarības, un tad mēs tās kopēsim ~ / new_root / lib direktorija.

Kopē atkarības no bash

Vispirms noskaidrojiet bash programmas atkarības:

$ ldd / bin / bash

Pēc tam kopējiet šīs atkarības ~ / new_root / lib direktorijā.

$ cp -v / lib / x86_64-linux-gnu / libtinfo.tātad.6, libdl.tātad.2, libc.tātad.6 ~ / new_root / lib

Failiem / lib64 kopējiet tos uz ~ / new_root / lib64 direktorijā.

$ cp -v / lib64 / ld-linux-x86-64.tātad.2 ~ / new_root / lib64

Kopēt ls komandas atkarības

Vispirms noskaidrojiet komandas ls atkarības:

$ ldd / bin / ls

Pēc tam kopējiet šīs atkarības ~ / new_root / lib direktorijā.

$ sudo cp -v / lib / x86_64-linux-gnu / libselinux.tātad.1, libc.tātad.6, libpcre.tātad.3,
libdl.tātad.2, libpthread.tātad.0 / lib64 / ld-linux-x86-64.tātad.2 ~ / new_root / lib

Failiem / lib64 kopējiet tos uz ~ / new_root / lib64 direktorijā.

$ sudo cp -v / lib64 / ld-linux-x86-64.tātad.2 ~ / new_root / lib64

Kopēt ip komandas atkarības

Vispirms noskaidrojiet ip komandas atkarības:

$ ldd / bin / ip

Pēc tam kopējiet šīs atkarības ~ / new_root / lib direktorijā.

$ cp -v / lib / x86_64-linux
gnu / libselinux.tātad.1, libelf.tātad.1, libmnl.tātad.0, libcap.tātad.2, libdl.tātad.2, libc.tātad.6,
libpcre.tātad.3, libz.tātad.1, libpthread.tātad.0 ~ / new_root / lib

Failiem / lib64 kopējiet tos uz ~ / new_root / lib64 direktorijā.

$ sudo cp -v / lib64 / ld-linux-x86-64.tātad.2 ~ / new_root / lib64

Kopēt pwd komandas atkarības

Vispirms uzziniet komandas pwd atkarības:

$ ldd / bin / pwd

Pēc tam kopējiet šīs atkarības ~ / new_root / lib direktorijā.

$ sudo cp -v / lib / x86_64-linux-gnu / libc.tātad.6 ~ / new_root / lib

Failiem / lib64 kopējiet tos uz ~ / new_root / lib64 direktorijā.

$ sudo cp -v / lib64 / ld-linux-x86-64.tātad.2 ~ / new_root / lib64

Lai skatītu visus direktorijus alternatīvajā saknes direktorijā, izmantojiet šādu komandu:

$ ls -R

5. Pārslēdzieties uz Alternatīvo saknes direktoriju

Tagad mēs beidzot esam gatavi pāriet uz savu jauno chroot vidi. Lai mainītu saknes direktoriju, palaidiet šādu komandu čaulā ar root tiesībām:

$ sudo chroot ~ / new_root / bin / bash

Kur ~ / new_root ir mūsu alternatīvais saknes direktorijs un / bin / bash ir lietojumprogramma, kuru esam izmantojuši, lai izveidotu chroot vidi.

Pēc iepriekš minētās komandas izpildīšanas jūs redzēsiet, ka uzvedne bash ir mainīta uz bash-x.y kas mūsu gadījumā ir bash-5.0 (kur 5.0 ir bash versijas numurs).

Piezīme: pēc chroot komandas palaišanas, kā es to izdarīju, var rasties šāda kļūda:

Ja rodas šī kļūda, pārbaudiet, vai esat pievienojis visas bibliotēkas un izpildāmos failus, kas saistīti ar nepieciešamo programmu, jaunajā saknes direktorijā.

Pēc ievadīšanas chroot vidē jūs varēsiet piekļūt tikai tajā esošajam failam. Mēģiniet palaist komandas, kuras esat iestatījis savai videi, ieskaitot dažas iebūvētās komandas. Iebūvētās komandas varat atrast, palaižot palīdzība komanda čaulā.

Var redzēt, ka mēs esam izmēģinājuši komandas “ls”, “pw” un “ip”, ​​un visi no tiem izdevās. Ja mēs izpildīsim jebkuru citu komandu, izņemot šīs trīs komandas un iebūvētās komandas, komanda neizdosies, jo mēs to neesam iestatījuši chroot videi. Kā redzat nākamajā ekrānuzņēmumā, mēs esam mēģinājuši palaist komandas “touch”, “ping” un “clear”, un visas no tām neizdevās.

6. Iziet no chroot

Lai izietu no chroot vides, izmantojiet Izeja komandu.

Secinājums

Šajā rakstā jūs uzzinājāt, kas ir chroot un kā tas darbojas Linux. Šis raksts soli pa solim parādīja, kā izmantot chroot Debian 10 Buster, lai izveidotu chroot vidi bash un citām komandām. Tagad jums vajadzētu būt ērti izmantot komandu chroot, lai mainītu procesa un tā apakšprocesu saknes direktoriju un izolētu tos no pārējās sistēmas.

Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...
Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...
Instalējiet jaunāko OpenRA stratēģijas spēli Ubuntu Linux
OpenRA ir bezmaksas / bezmaksas reāllaika stratēģijas spēļu dzinējs, kas atjauno agrīnās Vestvudas spēles, piemēram, klasisko Command & Conquer: Red A...