unix

Razumevanje dovoljenj in lastništva datotek Linux

Razumevanje dovoljenj in lastništva datotek Linux
Operacijski sistem Linux, ki je klon UNIX-a, je razvit za upravljanje več uporabnikov z večopravilnimi funkcijami. To pomeni, da lahko več operacij hkrati deluje v tem operacijskem sistemu, ko je računalnik priključen na omrežje ali internet. Oddaljeni uporabniki se lahko prek SSH povežejo z računalnikom, ki vsebuje operacijski sistem Linux, in delajo na sistemu. Zelo pomembno je ohraniti varnost, kadar v istem operacijskem sistemu hkrati deluje več uporabnikov. V operacijskem sistemu Linux obstaja veliko vgrajenih varnostnih funkcij, ki jih je mogoče uporabiti, ko lokalni ali oddaljeni dostop omogočajo različni uporabniki. Uporabniki Linuxa morajo razumeti koncept dovoljenj datotek in lastništvo datoteke, da zagotovijo varnost na ravni datotečnega sistema. Kako lahko uporabniki Linuxa vidijo in spremenijo dovoljenja ter lastništvo datoteke in map, je prikazano v tem članku.

Pogoji:

Uporabniki morajo poznati način izvajanja ukaza s terminala in osnovno znanje o ustvarjanju datotek in map v operacijskem sistemu Linux za zagon in razumevanje ukazov, uporabljenih v tem članku.

Vsebina tega članka:

V tem članku so opisani naslednji koncept in naloge v zvezi z dovoljenjem in lastništvom datoteke.

  1. Vrste uporabnikov
  2. Vrste dovoljenj
  3. Preverite dovoljenja
  4. Spremenite dovoljenje z uporabo chmod
  5. Spremenite lastništvo z chown

Vrste uporabnikov:

V operacijskem sistemu Linux obstajajo tri vrste uporabnikov, ki so omenjene spodaj.

Lastnik:

Uporabnik, ki ustvari datoteko ali mapo, je lastnik te datoteke ali mape, lastnik pa lahko drugim vrstam uporabnikov dovoli dostop do te datoteke in mape. Označuje se z "u".

Skupina:

Vsak uporabnik lahko pripada določeni skupini v Linuxu. Torej, ko uporabnik ustvari datoteko ali mapo, lahko drugi člani skupine, kamor pripada, dostopajo do datoteke ali mape. Ko v določeni mapi deluje več uporabnikov, je bolje, da s temi uporabniki ustvarite skupino, ki bo do te mape pravilno dostopala. Označuje se z "g".

Drugi / vsi:

Označuje vsakega uporabnika, ki ni lastnik določene datoteke ali mape in ni član skupine lastnika datoteke ali mape. Če lastnik datoteke ali mape daje dovoljenje za dostop drugim, lahko vsi uporabniki dostopajo samo do tega dostopa. "o'se uporablja za označevanje drugih uporabnikov in'a'se uporablja za označevanje vseh uporabnikov.

Vrste dovoljenj:

V sistemu Linux obstajajo tri vrste dovoljenj, ki so omenjena spodaj.

Preberite:

To dovoljenje se uporablja samo za branje katere koli datoteke ali mape. Označuje se zr'kadar je definiran z znakom in je označen z 4 ko je definirana s številko.

Napišite:

To dovoljenje se uporablja za pisanje, dodajanje ali razveljavitev katere koli datoteke ali mape. Označuje se z "w'kadar je definiran z znakom in je označen z 2 ko je opredeljena s številom. Če mora uporabnik pisati dovoljenje za datoteko, vendar mu ni treba pisati dovoljenja za mapo, v kateri je datoteka, lahko uporabnik spremeni vsebino datoteke, vendar je ne bo mogel preimenovati , premaknite ali izbrišite datoteko.

Izvedite:

To dovoljenje se uporablja samo za izvajanje katere koli datoteke. Označuje se z "x'kadar je definiran z znakom in je označen z 1 ko je opredeljena s številom.

Preveri dovoljenja:

Zaženite naslednji ukaz, da preverite dovoljenja vseh datotek in krme trenutnega imenika.

$ ls -l

Rezultat prikazuje sedem stolpcev. Prvi stolpec prikazuje dovoljenja za določeno datoteko in mape. Prvi stolpec ima štiri dele, ki vsebujejo 10 bitov. Prvi del vsebuje 1 bit, ki označuje datoteko ali mapo ali simbolično povezavo. Mapa je označena z znakom 'd', datoteka je označena z' - ', povezava pa z znakom'l". Drugi del vsebuje 3 bite, ki vsebujejo bitove dovoljenj za lastnika datoteke ali mape. Tretji del vsebuje 3 bite, ki vsebujejo bitove dovoljenj za uporabnike skupine. Četrti del vsebuje 3 bite, ki vsebujejo bitove dovoljenj za druge uporabnike. Biti dovoljenja trenutnega seznama imenikov bodo videti kot prvi stolpec naslednje slike.


Glede na zgornje bitove dovoljenj prvi bit pomeni, da prikazuje dovoljenja datoteke. Naslednji trije biti kažejo, da je lastnik datoteke prebral dovoljenja za branje, pisanje in dostop. Naslednji trije biti kažejo, da imajo uporabniki skupine dovoljenja za branje in pisanje. Zadnji trije biti pomenijo, da lahko drugi uporabniki samo berejo datoteko. Kako lahko privzete bite dovoljenja spremenite z različnimi ukazi Linux, je prikazano v naslednjem delu članka.

Spremeni dovoljenje z uporabo chmod:

chmod Ukaz se uporablja za spreminjanje bitov dovoljenj datoteke ali mape. Celotna oblika tega ukaza je za spremembo načina datoteke. Lastnik datoteke in korenski uporabnik lahko spremenita bit dovoljenja za datoteko in mapo. Vsako dovoljenje za katerega koli uporabnika je mogoče dati in preklicati za datoteko in mapo z uporabo chmod.

Sintaksa:

chmod [Dovoljenje] [Pot datoteke ali mape]

Bite dovoljenja lahko definirate z izrecnimi in binarnimi referencami, ki so razložene v naslednjem delu te vadnice.

Nastavite dovoljenja v simbolnem načinu:

"u','g'in'o'znaki se uporabljajo za tipe uporabnikov in'r','w'in'x'znaki se uporabljajo za vrste dovoljenj v simbolnem načinu. Kako lahko nastavite dovoljenje za datoteko in mapo, je prikazano v naslednjem delu vadnice. Naslednja tabela prikazuje seznam matematičnih simbolov, ki se uporabljajo za nastavitev, ponastavitev in odstranjevanje bitov dovoljenj za datoteko ali mapo.

Operater Namen
+ Uporablja se za dodajanje ali dodelitev dovoljenj za določeno datoteko ali mapo.
= Uporablja se za ponovno dodelitev dovoljenj za določeno datoteko ali mapo.
- Uporablja se za odstranjevanje dovoljenj iz določene datoteke ali mape.

Dovoljenja za datoteke:

Nekaj ​​primerov dodajanja in odstranjevanja bitov dovoljenj datoteke je prikazano v naslednjih primerih. Zaženite naslednje ukaze, da preverite trenutne bite dovoljenja za določeno pot imenika, / projects / bin / ki obstaja v sistemu. Ta ukaz vrne dolg seznam datotek in map v obratnem vrstnem redu z biti dovoljenja.

$ ls -lr

Rezultat kaže, da projekti / bin imenik vsebuje dve mapi in sedem datotek.

Primer-1: nastavite dovoljenje za izvrševanje za lastnika datoteke

Zaženite naslednje ukaze, da nastavite izvrši (x) bit dovoljenja za lastnik (u) datoteke, app.py, in po zagonu znova preverite bite dovoljenja chmod ukaz.

$ chmod u + x aplikacija.py
$ ls -lr

Naslednji izhod kaže, da bitov dovoljenja za app.py se spremenijo v
- r š x r š - r - -. The izvrši (x) dovoljenje je dodeljeno lastniku.

Primer-2: Nastavite dovoljenje za pisanje in izvajanje za katerega koli uporabnika datoteke

Za nastavitev zaženite naslednji ukaz piši (w) in izvrši (x) dovoljenja za vse uporabnikov za datoteko app2.py in po zagonu znova preverite bite dovoljenja chmod ukaz.

$ chmod a + wx app2.py
$ ls -lr

Naslednji izhod kaže, da bitov dovoljenja za app2.py se spremenijo v
- r š x r š x r š x. The piši (r) in izvrši (x) dovoljenja so dodeljena za katerega koli uporabnika za to datoteko.

3. primer: ponastavite dovoljenje za skupinske uporabnike datoteke

Zaženite naslednji ukaz za ponastavitev dovoljenj za skupini uporabnikov za datoteko app3.py in po zagonu znova preverite bite dovoljenja chmod ukaz. Tukaj izvrši (x) bit dovoljenja bo nastavljen samo za skupini uporabniki in beri (r) in piši (r) dovoljenja bodo preklicana.

$ chmod g = x app3.py
$ ls -lr

Naslednji izhod kaže, da bitov dovoljenja za app3.py se spremenijo v
- r w - - - x r - -. Dovoljenje za izvajanje (x) je dodeljeno samo uporabnikom skupine.

Primer-4: Dovoljenje za branje je preklicano drugim

Za odstranitev zaženite naslednji ukaz beri (r) bit dovoljenja za drugi za datoteko app4.py in po zagonu znova preverite bite dovoljenja chmod ukaz.

$ chmod o-r app4.py
$ ls -lr

Naslednji izhod kaže, da bitov dovoljenja za app4.py se spremenijo v
- r w - r w - - - -. The beri (r) dovoljenje se prekliče drugim.

Dovoljenja za mapo:

Bite dovoljenja lahko nastavite, ponastavite in odstranite za mapo, kot so datoteke, ki so prikazane v zgornjih ukazih chmod.

Primer 5: nastavite, ponastavite in prekličite dovoljenje za mapo

Za nastavitev zaženite naslednje ukaze piši (x) dovoljenje za drugi, ponastavi dovoljenje za skupini uporabniki z dodelitvijo beri (r) samo dovoljenje in odstranite izvrši (x) dovoljenje za lastnik mape, predloge.

$ chmod o + x predloge
$ chmod g = r predloge
$ chmod u-x predloge
$ ls -lr

Naslednji izhod kaže, da bitov dovoljenja za predloge mapo spremeni v d r w - r - - r - x. The izvrši (x) dovoljenje je nastavljeno za drugi, beri (r) dovoljenje je ponastavljeno za skupini uporabniki in izvrši (x) dovoljenje za lastnik.

Nastavite dovoljenja v številskem načinu:

Biti dovoljenja za datoteko in mapo se nastavijo ali ponastavijo s trimestno oktalno številko. V simboličnem načinu lahko enega ali več bitov dovoljenj nastavite, ponastavite ali odstranite samo za določeno vrsto uporabnika. V številskem načinu se bit dovoljenja za vse tri vrste uporabnikov spremeni z enim ukazom. Naslednja tabela prikazuje različne vrste dovoljenj, ki so definirane s številskimi vrednostmi.

Številska vrednost Vrsta dovoljenja
0 Označuje brez dovoljenja.
1 Označuje samo dovoljenje za izvajanje (x).
2 Označuje samo dovoljenje za zapis (w).
3 Označuje dovoljenja za zapis (w) in izvajanje (x).
4 Označuje samo dovoljenje za branje (r).
5 Označuje dovoljenja za branje (r) in izvajanje (x).
6 Označuje dovoljenja za branje (r) in pisanje (w).
7 Označuje vsa tri dovoljenja (branje (r), pisanje (w) in izvajanje (x)).

Dovoljenje za datoteko:

Nekaj ​​primerov za nastavitev ali ponastavitev bitov dovoljenj datoteke s pomočjo številskih vrednosti je razloženo v naslednjem delu tega članka.

Primer-1: Nastavite dovoljenje '- r w x r - x - w -' za datoteko

$ chmod 752 app5.py
$ ls -l

Naslednji izhod to kaže beri (r), piši (r) in izvrši (x) dovoljenja za lastnik od app5.py. beri (r) in izvrši (x) dovoljenja so nastavljena za skupini uporabniki aplikacije5.py. piši (w) dovoljenje je nastavljeno za katerega koli uporabnika app5.py.

Primer-2: Nastavite dovoljenje '- r w x r - - - - -' za datoteko

$ chmod 740 app6.py
$ ls -lr

Naslednji izhod to kaže beri (r), piši (r) in izvrši (x) dovoljenja za lastnik od app6.py. beri (r) dovoljenje je nastavljeno za skupini uporabniki app6.py. Nobeno dovoljenje ni nastavljeno za nobenega uporabnika app6.py.

Primer-3: Nastavite dovoljenje '- r - - - - - - - -' za datoteko

$ chmod 400 app5.py
$ ls -lr

Naslednji izhod to kaže beri (r) dovoljenje je nastavljeno samo za lastnika, druga dovoljenja drugih uporabnikov pa so odstranjena za datoteko, app5.py.

Primer-4: Nastavite dovoljenje '- r - - r - - r - -' za datoteko

$ chmod 444 app6.py
$ ls -lr

Naslednji izhod to kaže beri (r) dovoljenje je za vse vrste uporabnikov, druga dovoljenja pa so preklicana za datoteko, app6.py.

Primer-5: Nastavite dovoljenje '- r w x r w x r w x' za datoteko

$ chmod 777 app7.py
$ ls -lr

Naslednji izhod to kaže beri (r), piši (r), in izvrši (x) dovoljenja so nastavljena za vse vrste uporabnikov app7.py.

Dovoljenje za mapo:

$ chmod 442 predloge
$ ls -lr

Naslednji izhod to kaže beri (r) dovoljenje je nastavljeno za lastnike in uporabnike skupin in piši (w) dovoljenje je nastavljeno za katerega koli uporabnika mape, predloge.

Spremenite lastništvo z uporabo chown:

chown ukaz se uporablja za spremembo lastništva uporabnika in uporabnika skupine za katero koli datoteko. Ta ukaz lahko na različne načine uporabimo za spreminjanje lastništva uporabnikov.

Sintaksa:

chown [OPTION] [LOČNIK] [: [SKUPINA]] DATOTEKA

Spodaj so podane nekatere možnosti tega ukaza, s katerimi lahko spremenite lastništvo datoteke.

Možnost Namen
-od = CURRENT_OWNER: CURRENT_GROUP Uporablja se za spreminjanje lastnika in / ali skupine vsake datoteke le, če se trenutni lastnik in / ali skupina ujema z definiranim lastnikom in skupino.
-c, -spremembe Ustvari poročilo, če pride do kakršne koli spremembe lastništva.
-f, -tiho, -tiho Odstranil bo večino sporočil o napakah.
-R, -rekurzivno Deloval bo na datotekah in imenikih rekurzivno.
-L Prečkal bo vsako simbolično povezavo do imenika.
-P Ne bo prečkal nobenih simbolnih povezav.
-pomoč Prikazale se bodo informacije o pomoči.
-različico Prikaže informacije o različici.

Postanite super uporabnik:

Za izvajanje programa moraš postati super uporabnik chown ukaz. Z izvajanjem naslednjih ukazov ste lahko kratek čas super uporabnik, vendar morate poznati korensko geslo za določen ukaz.

"suukaz:
Celotna oblika su je nadomestni uporabnik, in ta ukaz lahko uporabimo za pridobitev privilegijev super uporabnika za izvajanje nekaterih skrbniških nalog. Po izvedbi tega ukaza morate navesti korensko geslo, da dobite korenski privilegij. Po izvedbi ukaza bo za super uporabnika ustvarjena nova lupinska seja. Sejo super uporabnika lahko zaključite s tipkanjem izhod ukaz.

"sudoukaz:
Alternativa su ukaz je Sudo ukaz. S tem ukazom lahko enemu ali več uporabnikom podeli korenski privilegij. Trenutni uporabnik lahko odpre korensko lupino su ukaz z uporabo možnosti -i z sudo ukaz. izhod ukaz konča korensko lupino in se vrne v lupino trenutnega uporabnika.
Korenski uporabniški račun je pri Ubuntu privzeto onemogočen. Torej, Sudo tukaj se uporablja za pridobitev korenskih pravic in zagon ukaza chown za nastavitev lastništva datoteke.

Primer-1: Uporaba chown z lastnikom

$ ls -l
$ sudo chown yesmin c1.py
$ ls -l

Prvi ls ukaz prikazuje trenutno lastništvo datotek, ki obstajajo v Koda mapo. Tukaj, fahmida je lastnik datoteke c1.py pred zagonom datoteke chown ukaz. Ko ls ukaz se izvede po zagonu ukaza chown, lastništvo pa dobi uporabnik, yesmin, in ime skupine je ostalo nespremenjeno.

Primer-2: Uporaba chown z lastnikom in debelo črevo (:)

$ ls -l
$ sudo chown yesmin: c2.py
$ ls -l

Prvi ls ukaz prikazuje trenutnega lastnika in lastništvo skupine c2.py mapa. Tukaj je ime lastnika uporabnika in skupine c2.py je fahmida pred zagonom chown ukaz. Ko ls ukaz se izvede po zagonu ukaza, nato pa se podeli lastništvo uporabnika yesmin, lastništvo nad skupino pa dobi lastnikova imenovana skupina yesmin.

Primer-3: Uporaba chown s skupino, ki ji sledi debelo črevo (:)

$ ls -l
$ sudo chown: pygroup c3.py
$ ls -l

Prvi ls ukaz prikazuje trenutnega lastnika in lastništvo skupine c3.py mapa. Tukaj je ime lastnika uporabnika in skupine c3.py je fahmida pred zagonom ukaza chown. Ko ls ukaz se izvede po zagonu ukaza, nato pa lastništvo nad skupino dobi lastnikova imenovana skupina pygroup, in lastništvo uporabniškega imena ostane nespremenjeno.

Primer-4: Uporaba chown z uporabnikom in skupino, čemur sledi dvopičje (:)

$ ls -l
$ sudo chown fahmida: pygroup c2.py
$ ls -l

Prvi ls ukaz prikazuje trenutnega lastnika in lastništvo skupine c2.py mapa. Tukaj je ime lastnika uporabnika in skupine c2.py je yesmin pred zagonom chown ukaz. Ko ls ukaz se izvede po zagonu ukaza, nato pa se podeli lastništvo uporabnika fahmida, in lastništvo skupine je dano pygroup.

Primer-5: Uporaba chown z dvopičjem (:)

$ ls -l
$ sudo chown: c3.py
$ ls -l

Prvi ls ukaz prikazuje trenutnega lastnika in lastništvo skupine c3.py mapa. Tu je lastništvo uporabnika fahmida, in lastništvo skupine je pygroup od c2.py pred zagonom chown ukaz. Ko ls ukaz se izvede po zagonu ukaza, lastništvo uporabnika in skupine pa ostane nespremenjeno.

Zaključek:

Uporabniki Linuxa lahko dovoljenje in lastništvo datoteke spremenijo na več načinov, kar je prikazano z uporabo različnih ukazov Linuxa v tem članku. V Linuxu obstaja še en ukaz za spreminjanje lastništva uporabnikov skupine samo za datoteko. Ukaz je chgrp to tukaj ni razloženo. Naloga chgrp ukaz je mogoče enostavno narediti z uporabo chown ukaz. Upam, da bo koncept dovoljenja za datoteko in lastništvo datoteke in mape v operacijskem sistemu Linux po branju tega članka razčiščen.

Kako uporabljati GameConqueror Cheat Engine v Linuxu
Članek zajema vodnik o uporabi varalnice GameConqueror v Linuxu. Številni uporabniki, ki igrajo igre v sistemu Windows, pogosto uporabljajo aplikacijo...
Najboljši emulatorji igralne konzole za Linux
V tem članku bo navedena priljubljena programska oprema za emulacijo igralne konzole, ki je na voljo za Linux. Emulacija je sloj združljivosti program...
Najboljši Linux Distros za igre na srečo v letu 2021
Operacijski sistem Linux je daleč od prvotnega, preprostega, strežniškega videza. Ta OS se je v zadnjih letih izjemno izboljšal in se je zdaj razvil v...