iBet uBet web content aggregator. Adding the entire web to your favor.
iBet uBet web content aggregator. Adding the entire web to your favor.



Link to original content: http://hr.wikipedia.org/wiki/Linux_namespace
Linuxov imenski prostor – Wikipedija Prijeđi na sadržaj

Linuxov imenski prostor

Izvor: Wikipedija
(Preusmjereno s Linux namespace)

Linuxov imenski prostor[1] (eng. Linux namespace[2][3]), imenski je prostor u operacijskom sustavu Linuxu. Linuxovi imenski prostori (Linux namespaces) koriste se za pokretanje Linuxovih spremnika u okruženju izoliranomu od Linuxa na računalu. Postoji ih nekoliko kategorija:

  • Mount (mnt) - imenski prostor koji nadzire točke postavljanja (montiranja). Nakon stvaranja, postavke iz trenutnoga izoliranoga prostora, kopiraju se u novi imenski prostor, s tim da se točke postavljanja stvorene nakon toga ne šire između imenskih prostora. Uporabom zajedničkih podstabala moguće je širiti točke montiranja između imenskih prostora.
  • Process ID (pid) - PID pruža procesima (pokrenutim programima) nezavisan skup ID-ova procesa (PID-ova) od inih imenskih prostora. Imenski prostori PID-a ugniježđeni su, što znači da će pokretanjem novoga procesa on imati PID za svaki imenski prostor od trenutnoga prostora, do početnoga imenskoga prostora (PID-a). Stoga, početni PID može vidjeti sve procese, iako s drugačijim PID-ovima s kojima će drugi imenski prostori vidjeti procese. Prvomu procesu stvorenom u PID-u dodjeljuje se njegov identitetski (ID) broj i prima većinu istog posebnog tretmana kao i normalni init proces, ponajviše na način da su podprocesi unutar imenskoga prostora pridruženi njemu. To također znači kako će prekid PID-a prvoga procesa odmah prekinuti sve procese u njegovom PID-u i sve njegove podprocese (sve pokrenute programe).
  • Network (net) ili Mrežni imenski prostori virtualiziraju mrežni stog. Prilikom stvaranja mrežnoga imenskoga prostora postoji samo sučelje povratne petlje (eng. loopback). Svako mrežno sučelje (fizičko ili virtualno) prisutno je u točno jednom prostoru i može se premještati između prostora. Svaki imenski prostor imat će privatni skup IP adresa, vlastitu tablicu usmjeravanja, popis socketa, tablicu praćenja veze, vatrozid i druge resurse povezane s mrežom. Uništavanje mrežnoga imenskoga prostora uništava sva virtualna sučelja unutar njega i premješta sva fizička sučelja unutar njega natrag u početni mrežni imenski prostor.
  • Interprocess Communication (ipc) - IPC-ovi izoliraju procese od međuprocesne komunikacije u stilu SysV. Ovo sprječava procese u različitim imenskim prostorima IPC-a na uporabu npr.SHM obitelji funkcija za uspostavljanje raspona zajedničke dijeljene pohrane između dvaju procesa. Umjesto toga, svaki će proces moći koristiti iste identifikatore za dijeljenu memorijsku regiju i proizvesti dvije takve različite regije.
  • UTS (eng. UNIX Time-Sharing) - mogućuju jednomu sustavu izgled različitih imena poslužitelja (hosts) i domena za različite procese (pokrenute programe). Kada proces stvori novi UTS ime poslužitelja i domena novoga prostora (UTS-a) kopiraju se iz odgovarajućih vrijednosti u UTS-u pozivatelja.
  • User ID (user) [UID] ili korisnički imenski prostori značajka su za pružanje izolacije povlastica i razdvajanje identifikacije korisnika u više skupova procesa dostupnih od kernela 3.8. Uz administracijsku pomoć moguće je izgraditi spremnik s prividnim administracijskim pravima bez stvarnoga davanja povišenih povlastica korisničkim procesima. Poput PID-a, UID-ovi su ugniježđeni i svaki novi imenski prostor korisnika smatra se podređenim prostorom korisnika koji ga je stvorio. KIP sadrži tablicu mapiranja koja pretvara korisničke ID-ove s gledišta spremnika u gledište sustava. To omogućava, na primjer, korijenskom (root) korisniku posjedovanje korisničkoga ID-a 0 u spremniku, ali ga sustav za provjere vlasništva zapravo tretira kao korisnički ID 1.400.000. Slična se tablica koristi za preslikavanje skupnih ID-ova i provjere vlasništva.
  • Control group (cgroup) Namespace skriva identitet kontrolne skupine koje je proces član. Proces u takvom prostoru, provjeravajući koji je dio kontrolne skupine koji proces, uočava putanju koja je zapravo relativna u odnosu na kontrolnu grupu postavljenu u vrijeme stvaranja, skrivajući svoju pravi položaj i identitet kontrolne skupine. Ova vrsta imenskoga prostora postoji od ožujka 2016. od Linux kernela 4.6.
  • Time Namespace ili vremenski imenski prostor omogućuje procesima uočavati različita sustavska vremena na način sličan UTS-u. Predložen je 2018. i postoji od Linux kernela 5.6, koji je objavljen u ožujku 2020.

Poveznice

[uredi | uredi kôd]


Izvori

[uredi | uredi kôd]
  1. Horvat, Hrvoje. 6. srpnja 2023. Operativni sustavi i računalne mreže - Linux u primjeni. Hrvoje Horvat. Osijek. str. 924, 1055, 263–269. doi:10.5281/zenodo.8119310. ISBN 978-953-59438-9-1CS1 održavanje: datum i godina (link)
  2. Ovens, Steve. The 7 most used Linux namespaces. Enable Sysadmin (engleski). Pristupljeno 30. studenoga 2022.
  3. What Are Namespaces and cgroups, and How Do They Work?. NGINX (engleski). 21. srpnja 2021. Pristupljeno 30. studenoga 2022.