4Jul
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 im se najviše iskoristili, 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 "glupi" terminal, kredit: ajmexico)
Da bi to funkcioniralo, pojedini korisnici moraju imati račune. Trebaju imati dijelove skladišnog prostora koji im se dodjeljuju i trebaju im biti dopušteno pokretanje naredbi i programa. 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 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.
Moguće je ograničiti i mape 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 želite 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 dozvole datoteke koju posjedujete u Ubuntu, samo desnom tipkom miša kliknite datoteku i idite na "Properties".
Možete promijeniti možete li vlasnik, grupa ili drugi čitati i pisati,samo pročitajte, ili ne radite ništa. 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.
naredbeni redak
Također možete to učiniti preko 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:
-rwxrw-r-
The r označava "čitanje", w označava "write", a x označava "execute". Directories će poč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] [operater] [dopuštenje] datoteka
chmod [ugoa] [+ ili -] [rwx] datoteka
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 dozvole datoteke:
- r: Omogućuje pristup čitanju.
- w: Omogućuje pristup pisanju.
- x: Omogućuje izvršavanje. Sada, stavimo je zajedno. Recimo 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 jest, vlasnik ima punu dozvolu, a grupa može č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. Također, možemo ih kombinirati u jednu naredbu, kao što je to slučaj:
chmod u + x, g-w, o-r todo.txt
Vidite da je svaki odjeljak odvojen zarezima i 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 što drugi gledaju vaše datoteke.)
- -rwx--: Vlasnik ima punu dozvolu, svi ostali nemaju( korisnoza 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,(korisno za pohranjivanje osobnih datoteka na zajedničkoj mreži)
- -rw ---: Vlasnik može čitati i pisati, svi ostali nemaju( korisno za pohranjivanje osobnih datoteka)
Postoji još nekoliko stvari koje možete učiniti schmod-like setuid i setgid - ali su malo duboki i većina korisnika zapravo ne treba ih koristiti.
Korijen ili Super-Korisnik i sistemske datoteke
Danas mi ne uvijek pokrećemo sustave kojiimaju više korisnika. Zašto još trebamo 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 ovlastima 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 neuspjelih programa, nenamjerno mijenjanja vlasništva nad datotekama na korijenskom korisniku( umjesto vlasnika) i manje sigurnosti( dodjeljivanjem više dozvola).Kao takav, preporučujemo da ne mijenjate dozvole za datoteke - osobito datoteke sustava - osim ako nije potrebno ili znate što radite. Dostupne su dozvole za stvaranje osnovnog sustava 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.