Kako funkcioniraju dozvole za Linux datoteke?

Sadržaj:

Kako funkcioniraju dozvole za Linux datoteke?
Kako funkcioniraju dozvole za Linux datoteke?

Video: Kako funkcioniraju dozvole za Linux datoteke?

Video: Kako funkcioniraju dozvole za Linux datoteke?
Video: Virtualization Explained - YouTube 2024, Travanj
Anonim
Ako ste neko vrijeme koristili Linux (čak i OS X), vjerojatno ćete naići na pogrešku "dopuštenja". Ali što točno jesu i zašto su potrebni ili korisni? Uzmimo unutarnji izgled.
Ako ste neko vrijeme koristili Linux (čak i OS X), vjerojatno ćete naići na pogrešku "dopuštenja". Ali što točno jesu i zašto su potrebni ili korisni? Uzmimo unutarnji izgled.

Korisničke dozvole

Danas su računala bila masivni strojevi koji su bili nevjerojatno skupi. Da bi ih se najviše iskoristilo, spojeni su više računalnih terminala, što je omogućilo mnogim korisnicima da istodobno idu u svoje poslovanje. Obrada i pohrana podataka obavljena je na stroju, a sami terminali bili su tek nešto više od načina pregleda i unosa podataka. Ako razmišljate o tome, prilično je to kako pristupamo podacima o "oblaku"; pogledajte Amazonov Cloud MP3 sustav, Gmail i Dropbox te ćete primijetiti da, iako se promjene mogu napraviti lokalno, sve se pohranjuje na daljinu.

(Slika: Zenith Z-19 "glup" terminal, kredit: ajmexico)
(Slika: Zenith Z-19 "glup" terminal, kredit: ajmexico)

Da bi to funkcioniralo, pojedini korisnici moraju imati račune. Trebaju imati dijelove skladišnog prostora koji im se dodjeljuju, a im treba dopustiti da izvode naredbe i programe. Svatko dobiva specifične "korisničke dozvole", koji diktiraju što mogu i ne mogu, gdje na sustavu rade i nemaju pristup, a čije se datoteke mogu i ne mogu mijenjati. Svaki korisnik je također smješten u različite skupine, koji daju ili ograničavaju daljnji pristup.

Pristup datotekama

U ovom ćudljivom multi-user svijetu već smo postavili granice o tome što korisnici mogu učiniti. Ali što je s tim što im pristupaju? Pa, svaka datoteka ima skup dozvola i vlasnika. Oznaka vlasnika, obično vezana kada se datoteka stvara, izjavljuje kojem korisniku pripada, a samo taj korisnik može mijenjati svoje dozvole za pristup.
U ovom ćudljivom multi-user svijetu već smo postavili granice o tome što korisnici mogu učiniti. Ali što je s tim što im pristupaju? Pa, svaka datoteka ima skup dozvola i vlasnika. Oznaka vlasnika, obično vezana kada se datoteka stvara, izjavljuje kojem korisniku pripada, a samo taj korisnik može mijenjati svoje dozvole za pristup.

U svijetu Linuxa dozvole su podijeljene u tri kategorije: čitanje, pisanje i izvršavanje. "Read" pristup omogućuje pregledavanje sadržaja datoteke, "pisanje" omogućuje pristup uređivanju sadržaja neke datoteke, a "izvršavanje" omogućuje pokretanje skupova instrukcija, poput skripte ili programa. Svaka od ovih kategorija primjenjuje se na različite klase: korisnik, grupu i svijet. "Korisnik" znači vlasnika, "skupina" znači bilo koji korisnik koji je u istoj grupi kao i vlasnik, a "svijet" znači bilo koga i svima.

Mape se također mogu ograničiti s tim dozvolama. Na primjer, možete dopustiti drugim osobama u vašoj grupi da gledaju direktorije i datoteke u vašoj početnoj mapi, ali ne i one izvan vaše grupe. Vjerojatno biste htjeli ograničiti "pisati" pristup samo za sebe, osim ako ne radite na nekom zajedničkom projektu. Možete stvoriti i zajednički direktorij koji omogućuje pregledavanje i izmjenu datoteka u toj mapi.
Mape se također mogu ograničiti s tim dozvolama. Na primjer, možete dopustiti drugim osobama u vašoj grupi da gledaju direktorije i datoteke u vašoj početnoj mapi, ali ne i one izvan vaše grupe. Vjerojatno biste htjeli ograničiti "pisati" pristup samo za sebe, osim ako ne radite na nekom zajedničkom projektu. Možete stvoriti i zajednički direktorij koji omogućuje pregledavanje i izmjenu datoteka u toj mapi.

Promjena dozvola u Ubuntu

GUI

Da biste promijenili dopuštenje datoteke koju posjedujete u Ubuntu, samo desnom tipkom miša kliknite datoteku i otvorite "Svojstva".

Možete promijeniti možete li vlasnik, grupa ili ostali čitati i pisati, samo čitati ili ništa učiniti. Također možete provjeriti okvir kako biste omogućili izvršenje datoteke, a to će je omogućiti istovremeno za vlasnika, grupu i druge.
Možete promijeniti možete li vlasnik, grupa ili ostali čitati i pisati, samo čitati ili ništa učiniti. Također možete provjeriti okvir kako biste omogućili izvršenje datoteke, a to će je omogućiti istovremeno za vlasnika, grupu i druge.

Command-Line

To možete učiniti i putem naredbenog retka. Idite na direktorij s datotekama u njemu i upišite sljedeću naredbu da biste vidjeli sve datoteke na popisu:

ls -al

Pored svake datoteke i direktorija vidjet ćete poseban odjeljak koji opisuje dozvole koje ima. Izgleda ovako:
Pored svake datoteke i direktorija vidjet ćete poseban odjeljak koji opisuje dozvole koje ima. Izgleda ovako:

-rwxrw-r–

r znači "čitati", w označava "pisanje" i x označava "izvršavanje". Imenice će započeti s "d" umjesto "-". Također ćete primijetiti da ima 10 mjesta koja imaju vrijednost. Možete zanemariti prvu, a zatim postoje 3 seta od 3. Prvi set je za vlasnika, drugi je skup za grupu, a zadnji skup je za svijet.

Da biste promijenili dopuštenje datoteke ili direktorija, pogledajmo osnovni oblik naredbe chmod.

chmod [class][operator][permission] file

chmod [ugoa][+ or –] [rwx] file

Prvo može izgledati komplicirano, ali vjerujte mi, to je prilično jednostavno. Prvo, pogledajmo klase:

  • u: Ovo je za vlasnika.
  • g: Ovo je za grupu.
  • o: Ovo je za sve ostale.
  • a: ovo će promijeniti dozvole za sve gore navedeno.

Zatim, operatori:

  • +: Znak plus će dodati dopuštenja koja slijede.
  • -: Znak minus će ukloniti dozvole koje slijede.

Još uvijek sa mnom? I zadnji odjeljak je isti kao kad smo provjerili dopuštenja datoteke:

  • r: Omogućuje pristup čitanju.
  • w: Omogućuje pristup za pisanje.
  • x: Omogućuje izvršavanje.

Sad, spojimo je. Pretpostavimo da imamo datoteku pod nazivom "todo.txt" koja ima sljedeća dopuštenja:

-rw-rw-r–

To jest, vlasnik i grupa mogu čitati i pisati, a svijet samo može čitati. Želimo promijeniti dozvole na ove:

-rwxr-–

To znači da vlasnik ima punu dozvolu, a grupa može pročitati. To možemo učiniti u 3 koraka. Prvo ćemo dodati dopuštenje za izvršenje za korisnika.

chmod u+x todo.txt

Zatim ćemo ukloniti dozvolu za pisanje za grupu.

chmod g-w todo.txt

Na kraju, uklonit ćemo dozvole za čitanje za sve ostale korisnike.

chmod o-r todo.txt

Također ih možemo kombinirati u jednu naredbu, kao što je to:

chmod u+x,g-w,o-r todo.txt

Možete vidjeti da je svaki odjeljak odvojen zarezima i da nema razmaka.
Možete vidjeti da je svaki odjeljak odvojen zarezima i da nema razmaka.

Evo nekoliko korisnih dopuštenja:

  • -rwxr-xr-x: Vlasnik ima punu dozvolu, grupi i drugi korisnici mogu čitati sadržaj datoteke i izvršiti.
  • -rwxr-r-: Vlasnik ima punu dozvolu, grupa i drugi korisnici mogu čitati samo datoteku (korisno ako vam ne smeta drugi koji pregledavaju vaše datoteke.
  • -rwx--: Vlasnik ima punu dozvolu, svi ostali nemaju (korisno za osobne skripte).
  • -rw-rw--: Vlasnik i grupa mogu čitati i pisati (korisno za suradnju s članovima grupe).
  • -rw-r-r-: Vlasnik može čitati i pisati, grupi i drugi korisnici mogu čitati samo datoteku (korisno za pohranu osobnih datoteka na zajedničkoj mreži).
  • -rw ---: Vlasnik može čitati i pisati, svi ostali nemaju (korisno za pohranjivanje osobnih datoteka).

Postoji nekoliko drugih stvari koje možete učiniti s chmod-like setuid i setgid - ali oni su malo in-dubina i većina korisnika zapravo ne treba ih koristiti ionako.

Root ili Super-User i System Files

Danas ne uvijek pokrećemo sustave koji imaju više korisnika. Zašto bismo još uvijek trebali brinuti o dozvolama?
Danas ne uvijek pokrećemo sustave koji imaju više korisnika. Zašto bismo još uvijek trebali brinuti o dozvolama?

Pa, Unix i njegovi derivati - Linux, OS X, među ostalima - razlikuju i stvari koje vodi korisnik, stvari koje pokreće administrator ili s administratorskim pravima i stvari koje pokreće sam sustav. Kao takve, stvari koje su integralne za sustav trebaju administratorske ovlasti za promjenu ili pristup. Na taj način, ne smetati ništa slučajno.

U Ubuntu, da biste izvršili promjene u datotekama sustava, koristite "sudo" ili "gksudo" kako biste dobili ekvivalentne privilegije administratora. U drugim distributerima prelazite na "korijen" ili "super-korisnik" koji učinkovito radi istu stvar sve dok se ne odjavite.

Imajte na umu da u oba slučaja promjena dozvola za datoteke može dovesti do programa koji ne funkcioniraju, nenamjerno mijenjaju vlasništvo nad datotekama korisnika korijena (umjesto vlasnika), a sustav je manje siguran (dodjeljujući više ovlasti). Kao takav, preporučujemo da ne mijenjate dozvole za datoteke - osobito datoteke sustava - osim ako nije potrebno ili znate što radite.

Dozvole za datoteke su na mjestu kako bi pružili osnovni sustav sigurnosti među korisnicima. Učenje kako rade može vam pomoći da postavite osnovno dijeljenje u okruženju s više korisnika, zaštitite "javne" datoteke i dajte vam trag o tome kada nešto krene u krivu s vlasništvom nad datotekama sustava.

Mislite da možete olakšati objašnjenje? Je li ispravak? Želite li se prisjetiti starih dana? Odmorite se i stavite svoje misli u komentare.

Preporučeni: