unix

Razumijevanje dozvola i vlasništva nad Linux datotekama

Razumijevanje dozvola i vlasništva nad Linux datotekama
Linux operativni sustav, koji je klon UNIX-a, razvijen je za rad s više korisnika sa značajkama višestrukog zadatka. To znači da više od jednog korisnika može istovremeno raditi u ovom poslu kada je računalo priključeno na mrežu ili Internet. Udaljeni korisnici mogu se povezati s računalom koje sadrži operativni sustav Linux putem SSH-a i raditi na sustavu. Vrlo je važno održavati sigurnost kada više korisnika istovremeno radi u istom operativnom sustavu. U operacijskom sustavu Linux postoje mnoge ugrađene sigurnosne značajke koje se mogu koristiti kada se lokalni ili daljinski pristup odobrava od različitih korisnika. Korisnici Linuxa moraju razumjeti koncept dozvola datoteka i vlasništvo nad datotekom kako bi osigurali sigurnost na razini datotečnog sustava. U ovom je članku prikazano kako korisnici Linuxa mogu pregledavati i mijenjati dozvole te vlasništvo nad datotekom i mapama.

Preduvjeti:

Korisnici moraju znati način izvođenja naredbe s terminala i osnovno znanje o stvaranju datoteka i mapa u operativnom sustavu Linux da bi izvršili i razumjeli naredbe korištene u ovom članku.

Sadržaj ovog članka:

Sljedeći koncept i zadaci koji se odnose na dozvolu i vlasništvo nad datotekom obuhvaćeni su ovim člankom.

  1. Vrste korisnika
  2. Vrste dozvola
  3. Provjerite dopuštenja
  4. Promijenite dozvolu pomoću chmod
  5. Promijenite vlasništvo pomoću chown

Vrste korisnika:

U operacijskom sustavu Linux postoje tri vrste korisnika, što je spomenuto u nastavku.

Vlasnik:

Korisnik koji kreira datoteku ili mapu vlasnik je te datoteke ili mape, a vlasnik može dopustiti ostalim vrstama korisnika pristup toj datoteci i mapi. Označava se sa 'u'.

Skupina:

Svaki korisnik može pripadati određenoj grupi u Linuxu. Dakle, kada korisnik kreira datoteku ili mapu, tada drugi članovi grupe kojoj korisnik pripada mogu pristupiti datoteci ili mapi. Kada više korisnika radi na određenoj mapi, tada je bolje stvoriti grupu s tim korisnicima da bi joj pravilno pristupili. Označava se sa 'g'.

Ostalo / Sve:

Označava bilo kojeg korisnika koji nije vlasnik određene datoteke ili mape i ne pripada grupi vlasnika datoteke ili mape. Ako vlasnik datoteke ili mape daje bilo kakvo dopuštenje za pristup drugima, tada bilo koji korisnik može pristupiti samo tom određenom pristupu. 'o'koristi se za označavanje ostalih korisnika i'a'koristi se za označavanje svih korisnika.

Vrste dozvola:

U sustavu Linux postoje tri vrste dozvola, što je spomenuto u nastavku.

Čitati:

Ovo se dopuštenje koristi za čitanje bilo koje datoteke ili mape. Označava se sa 'r'kada je definirano znakom, a označeno je s 4 kad je definirana brojem.

Pisati:

Ovo se dopuštenje koristi za pisanje, dodavanje ili poništavanje bilo koje datoteke ili mape. Označava se sa 'w'kada je definiran znakom, a označen sa 2 kada je definirana brojem. Ako korisnik mora napisati dopuštenje za datoteku, ali ne mora dopustiti zapisivanje u mapu u kojoj se datoteka nalazi, tada korisnik može mijenjati samo sadržaj datoteke, ali neće moći preimenovati , premjestite ili izbrišite datoteku.

Izvršiti:

Ovo se dopuštenje koristi za izvršavanje samo bilo koje datoteke. Označava se sa 'x'kada je definiran znakom, a označen sa 1 kada je definirana brojem.

Provjeri dozvole:

Pokrenite sljedeću naredbu za provjeru dozvola svih datoteka i krme trenutnog direktorija.

$ ls -l

Izlaz prikazuje sedam stupaca. Prvi stupac prikazuje dozvole određene datoteke i mapa. Prvi stupac ima četiri dijela koji sadrže 10 bitova. Prvi dio sadrži 1 bit koji označava datoteku ili mapu ili simboličku vezu. Mapa je označena znakom 'd', datoteka je označena s' - ', a veza je označena znakom'l'. Drugi dio sadrži 3 bita koji sadrže bitove dozvola za vlasnika datoteke ili mape. Treći dio sadrži 3 bita koji sadrže bitove dozvola za korisnike grupe. Četvrti dio sadrži 3 bita koji sadrže bitove dozvola za ostale korisnike. Bitovi dozvola trenutnog popisa direktorija izgledat će poput prvog stupca sljedeće slike.


Prema gornjim bitovima dozvola, prvi bit označava da prikazuje dozvole datoteke. Sljedeća tri bita označavaju da je vlasnik datoteke imao dopuštenja za čitanje, pisanje i pristup. Sljedeća tri bita označavaju da korisnici grupe imaju dozvole za čitanje i pisanje. Zadnja tri bita označavaju da drugi korisnici mogu čitati datoteku. Kako se zadani bitovi dopuštenja mogu mijenjati pomoću različitih Linux naredbi prikazano je u sljedećem dijelu članka.

Promjena dozvole pomoću chmoda:

chmod naredba koristi se za promjenu bitova dozvole datoteke ili mape. Puni oblik ove naredbe je za promjenu načina rada datoteke. Vlasnik datoteke i root korisnik mogu promijeniti bitove dozvola datoteke i mape. Bilo koje dopuštenje za bilo kojeg korisnika može se dati i opozvati za datoteku i mapu pomoću chmod.

Sintaksa:

chmod [Dopuštenje] [Put datoteke ili mape]

Bitovi dozvole mogu se definirati eksplicitno i binarnim referencama, što je objašnjeno u sljedećem dijelu ovog vodiča.

Postavite dopuštenja u simboličnom načinu:

'u','g', i'o'znakovi se koriste za tipove korisnika, a'r','w', i'xznakovi 'koriste se za vrste dozvola u simboličkom načinu. Kako se dozvola može postaviti za datoteku i mapu prikazano je u sljedećem dijelu vodiča. Sljedeća tablica prikazuje popis matematičkih simbola koji se koriste za postavljanje, resetiranje i uklanjanje bitova dozvola za datoteku ili mapu.

Operater Svrha
+ Koristi se za dodavanje ili dodjeljivanje dozvola za određenu datoteku ili mapu.
= Koristi se za ponovno dodjeljivanje dozvola za određenu datoteku ili mapu.
- Koristi se za uklanjanje dozvola iz određene datoteke ili mape.

Dopuštenja za datoteku:

Neki primjeri dodavanja i uklanjanja bitova dozvole datoteke prikazani su u sljedećim primjerima. Izvedite sljedeće naredbe za provjeru trenutnih bitova dozvola određene staze direktorija, / projects / bin / koja postoji u sustavu. Ova naredba vraća dugački popis datoteka i mapa obrnutim redoslijedom s bitovima dozvole.

$ ls -lr

Izlaz pokazuje da je projekti / kanta direktorij sadrži dvije mape i sedam datoteka.

Primjer-1: Postavite odobrenje za izvršavanje za vlasnika datoteke

Izvedite sljedeće naredbe za postavljanje izvršiti (x) bit dopuštenja za vlasnik (u) datoteke, app.py, i ponovno provjerite bitove dozvole nakon pokretanja chmod naredba.

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

Sljedeći izlaz pokazuje da su bitovi dozvole za app.py se mijenjaju u
- r š x r š - r - -. The izvršiti (x) dozvola se dodjeljuje vlasniku.

Primjer-2: Postavite dopuštenje za pisanje i izvršavanje za bilo kojeg korisnika datoteke

Pokrenite sljedeću naredbu za postavljanje napiši (w) i izvršiti (x) dozvole za svi korisnici datoteke app2.py i ponovno provjerite bitove dozvole nakon pokretanja chmod naredba.

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

Sljedeći izlaz pokazuje da su bitovi dozvole za app2.py se mijenjaju u
- r š x r š x r š x. The pisac) i izvršiti (x) dozvole su dodijeljene bilo kojem korisniku za ovu datoteku.

Primjer-3: Poništite dopuštenje za grupne korisnike datoteke

Pokrenite sljedeću naredbu za poništavanje dozvola za skupina korisnici datoteke app3.py i ponovno provjerite bitove dozvole nakon pokretanja chmod naredba. Evo, izvršiti (x) bit dopuštenja bit će postavljen samo za skupina korisnici i pročitati (r) i pisac) dozvole će se opozvati.

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

Sljedeći izlaz pokazuje da su bitovi dozvole za app3.py se mijenjaju u
- r w - - - x r - -. Dopuštenje za izvršavanje (x) dodjeljuje se samo korisnicima grupe.

Primjer-4: Odobrenje za čitanje ukida se drugima

Pokrenite sljedeću naredbu za uklanjanje pročitati (r) bit dopuštenja za drugi za datoteku app4.py i ponovno provjerite bitove dozvole nakon pokretanja chmod naredba.

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

Sljedeći izlaz pokazuje da su bitovi dozvole za app4.py se mijenjaju u
- r w - r w - - - -. The pročitati (r) dozvola se ukida za ostale.

Dopuštenja za mapu:

Bitovi dozvola mogu se postaviti, resetirati i ukloniti za mapu poput datoteka koje su prikazane u gornjim chmod naredbama.

Primjer 5: Postavite, resetirajte i opozovite dozvolu za mapu

Izvršite sljedeće naredbe za postavljanje napiši (x) dopuštenje za drugi, resetirati dozvolu za skupina korisnici dodjeljivanjem pročitati (r) samo dopuštenje i ukloniti izvršiti (x) dopuštenje za vlasnik mape, predlošci.

$ chmod o + x predlošci
$ chmod g = r predlošci
$ chmod u-x predlošci
$ ls -lr

Sljedeći izlaz pokazuje da bitovi dozvole za predlošci mapa se mijenja u d r w - r - - r - x. The izvršiti (x) postavljeno je dopuštenje za drugi, pročitati (r) dozvola je resetirana za skupina korisnici i izvršiti (x) dozvola se ukida za vlasnik.

Postavite dopuštenja u numeričkom načinu:

Bitovi dozvole datoteke i mape postavljaju se ili resetiraju pomoću troznamenkastog oktalnog broja. U simboličkom načinu rada jedan ili više bitova dozvola mogu se postaviti ili resetirati ili ukloniti samo za određenu vrstu korisnika. U numeričkom načinu rada, bitovi dozvola za sve tri vrste korisnika mijenjaju se jednom naredbom. Sljedeća tablica prikazuje različite vrste dozvola koje su definirane numeričkim vrijednostima.

Numerička vrijednost Vrsta dozvole
0 Označava da nema dopuštenja.
1 Označava samo dopuštenje za izvršenje (x).
2 Označava samo dopuštenje za pisanje (w).
3 Označava dozvole za pisanje (w) i izvršavanje (x).
4 Označava samo dopuštenje za čitanje (r).
5 Označava dozvole za čitanje (r) i izvršavanje (x).
6 Označava dozvole za čitanje (r) i pisanje (w).
7 Označava sva tri dopuštenja (čitanje (r), pisanje (w) i izvršavanje (x)).

Dopuštenje datoteke:

Neki primjeri postavljanja ili poništavanja bitova dozvole datoteke pomoću numeričkih vrijednosti objašnjeni su u sljedećem dijelu ovog članka.

Primjer-1: Postavite dozvolu '- r w x r - x - w -' za datoteku

$ chmod 752 app5.py
$ ls -l

Sljedeći izlaz to pokazuje pročitati (r), pisac) i izvršiti (x) postavljena su dopuštenja za vlasnik od app5.py. pročitati (r) i izvršiti (x) postavljena su dopuštenja za skupina korisnici aplikacije5.py. napiši (w) postavljeno je dopuštenje za bilo kojeg korisnika aplikacije5.py.

Primjer-2: Postavite dozvolu '- r w x r - - - - -' za datoteku

$ chmod 740 app6.py
$ ls -lr

Sljedeći izlaz to pokazuje pročitati (r), pisac) i izvršiti (x) postavljena su dopuštenja za vlasnik od app6.py. pročitati (r) postavljeno je dopuštenje za skupina korisnici app6.py. Nije postavljeno dopuštenje ni za jednog korisnika aplikacije6.py.

Primjer-3: Postavite dopuštenje '- r - - - - - - - -' za datoteku

$ chmod 400 app5.py
$ ls -lr

Sljedeći izlaz to pokazuje pročitati (r) dopuštenje je postavljeno samo za vlasnika, a druga dopuštenja drugih korisnika uklanjaju se za datoteku, app5.py.

Primjer-4: Postavite dozvolu '- r - - r - - r - -' za datoteku

$ chmod 444 app6.py
$ ls -lr

Sljedeći izlaz to pokazuje pročitati (r) dopuštenje je za sve vrste korisnika, a druga dopuštenja su opozvana za datoteku, app6.py.

Primjer-5: Postavite dozvolu '- r w x r w x r w x' za datoteku

$ chmod 777 app7.py
$ ls -lr

Sljedeći izlaz to pokazuje pročitati (r), pisac), i izvršiti (x) postavljena su dopuštenja za sve vrste korisnika app7.py.

Dopuštenje mape:

$ chmod 442 predlošci
$ ls -lr

Sljedeći izlaz to pokazuje pročitati (r) dozvola je postavljena za vlasnike i korisnike grupe i napiši (w) postavljeno je dopuštenje za bilo kojeg korisnika mape, predlošci.

Promijenite vlasništvo pomoću chown:

chown naredba se koristi za promjenu vlasništva korisnika i korisnika grupe za bilo koju datoteku. Ova se naredba može koristiti na različite načine za promjenu vlasništva korisnika.

Sintaksa:

chown [OPCIJA] [VLASNIK] [: [GRUPA]] DATOTEKA

Neke su mogućnosti ove naredbe dane u nastavku koje se mogu koristiti za promjenu vlasništva nad datotekom.

Opcija Svrha
-od = CURRENT_OWNER: CURRENT_GROUP Koristi se za promjenu vlasnika i / ili grupe svake datoteke samo ako se trenutni vlasnik i / ili grupa podudaraju s definiranim vlasnikom i grupom.
-c, -promjene Stvara izvješće ako se izvrši bilo kakva promjena u vlasništvu.
-f, -tiho, -tiho Uklonit će većinu poruka o pogreškama.
-R, -rekurzivno Rekurzivno će raditi na datotekama i direktorijima.
-L Preći će svaku simboličku vezu do direktorija.
-Str Neće prelaziti nikakve simboličke poveznice.
-Pomozite Prikazat će informacije o pomoći.
-verzija Prikazuje podatke o verziji.

Postanite superkorisnik:

Morate postati superkorisnik za izvršavanje chown naredba. Možete kratko biti superkorisnik izvršavanjem sljedećih naredbi, ali morate znati root lozinku za određenu naredbu.

'su'naredba:
Puni oblik su je zamjenski korisnik, i ova se naredba može koristiti za dobivanje privilegija superkorisnika za obavljanje nekih administrativnih zadataka. Nakon izvršavanja ove naredbe morate navesti root lozinku da biste dobili privilegiju root. Nakon izvršavanja naredbe, nova sesija ljuske će se stvoriti za super korisnika. Sesija nadkorisnika može se prekinuti tipkanjem Izlaz naredba.

'sudo'naredba:
Alternativa su naredba je Sudo naredba. Koristeći ovu naredbu jednom ili više korisnika može odobriti root privilegiju. Trenutni korisnik može otvoriti korijensku ljusku su naredba pomoću opcije -i s sudo naredba. Izlaz naredba završava korijensku ljusku i vraća se u školjku trenutnog korisnika.
Korijenski korisnički račun onemogućen je prema zadanim postavkama na Ubuntuu. Tako, Sudo naredba se ovdje koristi za dobivanje root privilegija i pokretanje naredbe chown za postavljanje vlasništva nad datotekom.

Primjer-1: Korištenje chown-a s vlasnikom

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

Prvi ls naredba pokazuje trenutno vlasništvo nad datotekama koje postoje u kodirati mapu. Ovdje, fahmida je vlasnik datoteke c1.py datoteku prije pokretanja chown naredba. Kada ls naredba se izvršava nakon pokretanja naredbe chown, a zatim se vlasništvo daje korisniku, yesmin, a naziv grupe ostao je nepromijenjen.

Primjer-2: Upotreba chown-a s vlasnikom i dvotočkom (:)

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

Prvi ls naredba prikazuje trenutnog vlasnika i vlasništvo nad grupom c2.py datoteka. Ovdje je ime vlasništva korisnika i grupe c2.py je fahmida prije pokretanja chown naredba. Kada ls naredba se izvršava nakon izvršavanja naredbe, a zatim se daje vlasništvo nad korisnikom yesmin, a vlasništvo nad grupom dobiva se imenovana grupa vlasnika yesmin.

Primjer-3: Upotreba chown-a sa skupinom nakon koje slijedi dvotočka (:)

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

Prvi ls naredba prikazuje trenutnog vlasnika i vlasništvo nad grupom c3.py datoteka. Ovdje je ime vlasništva korisnika i grupe za c3.py je fahmida prije pokretanja naredbe chown. Kada ls naredba se izvršava nakon izvršavanja naredbe, a zatim se vlasništvo nad grupom daje imenovanoj grupi vlasnika pygroup, a ime vlasništva korisnika ostaje nepromijenjeno.

Primjer-4: Upotreba chown-a s korisnikom i grupom nakon čega slijedi dvotačka (:)

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

Prvi ls naredba prikazuje trenutnog vlasnika i vlasništvo grupe nad c2.py datoteka. Ovdje je ime vlasništva korisnika i grupe za c2.py je yesmin prije pokretanja chown naredba. Kada ls naredba se izvršava nakon izvršavanja naredbe, a zatim se daje vlasništvo nad korisnikom fahmida, a vlasništvo nad grupom dobiva pygroup.

Primjer-5: Upotreba chown-a s dvotočkom (samo :)

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

Prvi ls naredba prikazuje trenutnog vlasnika i vlasništvo grupe nad c3.py datoteka. Ovdje je vlasništvo korisnika fahmida, a vlasništvo grupe je pygroup od c2.py prije pokretanja chown naredba. Kada ls naredba se izvršava nakon izvršavanja naredbe, tada vlasništvo i korisnika i grupe ostaje nepromijenjeno.

Zaključak:

Korisnici Linuxa mogu na više načina promijeniti dozvolu i vlasništvo nad datotekom, što je prikazano upotrebom različitih Linux naredbi u ovom članku. U Linuxu postoji još jedna naredba za promjenu vlasništva korisnika grupe samo za datoteku. Naredba je chgrp to ovdje nije objašnjeno. Zadatak chgrp naredba se može lako izvršiti pomoću chown naredba. Nadam se da će koncept dozvole za datoteku i vlasništvo nad datotekom i mapom u operacijskom sustavu Linux biti razjašnjen nakon čitanja ovog članka.

Kako koristiti AutoKey za automatizaciju Linux igara
AutoKey je uslužni program za automatizaciju radne površine za Linux i X11, programiran na Python 3, GTK i Qt. Koristeći njegovu skriptiranje i MACRO ...
Kako prikazati brojač FPS-a u Linux igrama
Linux gaming dobio je velik poticaj kada je Valve najavio Linux podršku za Steam klijent i njihove igre 2012. godine. Od tada su mnoge AAA i indie igr...
Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...