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.
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 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.
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".
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
-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
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
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.