Razumijevanje Dozvola za Linux i korištenje chmoda

Pohađao sam tečaj o Linuxu(Linux) posljednjih nekoliko mjeseci i jedan aspekt Linuxa(Linux) koji me uvijek zbunjivao bio je način na koji dozvole funkcioniraju. Na primjer, kada jednom prenesem datoteku na svoj web poslužitelj i dobijem pogrešku, moj web host mi je rekao da promijenim dopuštenja datoteke na 755.

Nisam imao pojma što to znači, iako je promjena dozvola riješila problem. Sada sam shvatio da dozvole za Linux nisu tako komplicirane, samo morate razumjeti sustav. U ovom članku govorit ću o dopuštenjima za Linux na visokoj razini i pokazati vam kako koristiti naredbu chmod za promjenu dopuštenja za datoteke i mape.

Dozvole i razine za Linux

U Linuxu(Linux) u osnovi postoje tri dopuštenja o kojima ćete se inače morati brinuti: čitanje, pisanje i izvršavanje. Sve tri su poprilično razumljive. Sada kada se te dozvole primjenjuju na datoteku, primjenjuju se na razinama.

U Linuxu(Linux) postoje tri razine dopuštenja : vlasnik, grupa i ostalo. Vlasnik je korisnik koji posjeduje datoteku/mapu, grupa uključuje druge korisnike u grupi datoteke, a drugi samo predstavlja sve ostale korisnike koji nisu vlasnik ili u grupi.

Čitanje(Read) , pisanje i izvršavanje predstavljeni su ili kao simbolički znakovi ili kao oktalni brojevi. Na primjer, ako napravite ls -l u direktoriju s nekim datotekama, vidjet ćete simbolički prikaz znakova dopuštenja.

Dozvole se pišu na sljedeći način: prvi bit je ili crtica ili slovo d. Crtica(Dash) znači da je to datoteka, a d označava direktorij. Imajte na umu da prvi bit također može biti l ako je naziv datoteke poveznica. Zatim, postoje tri grupe od tri bita. Prvi bit u svakoj grupi služi za čitanje, drugi bit je za pisanje, a treći bit za izvršavanje. Prva tri bita su za vlasnika, druga tri bita su za grupu, a treća tri bita su za ostale. Evo vizualnijeg objašnjenja.

Ako umjesto slova vidite crticu, to znači da vlasnik, grupa ili svi drugi korisnici nemaju tu dozvolu. U gornjem primjeru, vlasnik, grupa i svi ostali imaju dopuštenja za čitanje i izvođenje.

Ako pogledate izlaz naredbe ls -l, primijetit ćete da moja tekstualna datoteka za vježbanje ima sljedeća dopuštenja:

-rw-rw-rw-

To znači da svi imaju dopuštenja samo za čitanje/pisanje datoteke. Evo još jednog primjera:

drwxr--r--

Gledajući prvi dio, možemo vidjeti da su dopuštenja za direktorij. Vlasnik ima dopuštenja za čitanje/pisanje/izvršavanje, ali grupa i drugi korisnici imaju samo dopuštenje za čitanje.

Oktalni prikaz brojeva

Tako se dozvole prikazuju u Linuxu(Linux) pomoću simbola. Drugi način predstavljanja istih dozvola je korištenje oktalnih brojeva. Kada kasnije upotrijebimo naredbu chmod, vidjet ćete da možete promijeniti dopuštenja pomoću simbola ili oktalnih brojeva.

Dakle, kako Linux predstavlja čitanje, pisanje i izvršavanje pomoću oktalnih brojeva? U osnovi, svakom dopuštenju samo dodjeljuje broj kao što je prikazano u nastavku.

Dozvola za čitanje je predstavljena s 4, pisanje s 2 i izvršavanje s 1. Sve što trebate učiniti je zbrojiti ih da biste dobili oktalnu dozvolu. Na primjer, uzmimo gornji primjer gdje svi imaju sva dopuštenja:

-rwxrwxrwx

Vlasnik ima rwx, pa ćemo dodati 4 + 2 + 1 da dobijemo vrijednost 7. Istu stvar radimo za grupu i istu stvar za druge. Konačna oktalna vrijednost je 777. Pogledajmo primjer gdje smo dali samo dopuštenja za čitanje/pisanje:

-rw-rw-rw-

Prvi oktalni broj bit će 4 + 2 budući da zbrajamo čitanje i pisanje. Drugi će biti isti kao i treći oktalni broj. Ovdje imamo konačnu oktalnu vrijednost od 666.

Pa sada pokušajmo na drugi način. Recimo da želimo znati koje dozvole 755 predstavlja? Pa, to je prilično lako shvatiti ako ga podijelite po pojedinačnim brojevima. Prvi broj je 7, koji možemo dobiti samo dodavanjem 4 + 2 + 1, što znači da vlasnik ima dopuštenje za čitanje/pisanje/izvršavanje. Pet se može dobiti samo dodavanjem 4 + 1, što znači da grupa i drugi korisnici imaju dopuštenja za čitanje i izvršavanje.

Nadamo(Hopefully) se da je to dobro objašnjenje kako predstaviti dopuštenja u Linuxu(Linux) koristeći oktalne brojeve. Sveukupno je prilično jasan.

Korištenje chmoda za promjenu dopuštenja

Sada kada razumijemo kako čitati dopuštenja, razgovarajmo o tome kako ih možemo promijeniti. Najlakši uslužni program za korištenje u tu svrhu je naredba chmod. Evo kako to funkcionira. Najbolji način da objasnite naredbu je proći kroz primjer.

Počnimo s dopuštenjima o kojima smo govorili gore, naime:

-rw-rw-rw-

Ako bismo htjeli dodati dopuštenje za izvršavanje za vlasnika, grupu i ostalo, mogli bismo to učiniti na dva načina. Mogli bismo koristiti metodu simbola ili oktalnu metodu. Za metodu simbola, učinili bismo sljedeće, kao što je prikazano u nastavku:

Točna naredba je

chmod a+x filename

Sintaksa je sljedeća: slovo ili slova koja predstavljaju vlasnika ( u ), grupu ( g ), ostalo ( o ) ili sve ( a ), nakon čega slijedi + za dodavanje dopuštenja ili za oduzimanje dozvola i zatim slovo za dopuštenje ( r za čitanje, w za pisanje i x za izvršavanje).

U gornjem primjeru dodao sam dopuštenje za izvršavanje za sve korisnike. Rezultat kao što možete vidjeti na gornjoj snimci zaslona je x za vlasnika, grupu i druge. Sada recimo da sam htio ukloniti dopuštenja za pisanje i izvršavanje samo za grupu i druge korisnike.

Kao što možete vidjeti ovdje, koristio sam sljedeću naredbu da to postignem:

chmod go-wx filename

Budući da želim promijeniti dopuštenja za grupu i ostalo, koristim slovo g i slovo o . Želim ukloniti dopuštenja, pa koristim znak . Konačno, želim ukloniti dopuštenja za pisanje i izvršavanje, pa koristim w i x . Evo zgodne tablice za korištenje simbola:

Dakle, to je sve što je potrebno za korištenje metode simbola. Sada razgovarajmo o oktalnoj metodi, za koju smatram da je malo lakša. Octal je lijep jer možete dodati ili ukloniti dopuštenja odjednom.

Ako počnemo sa sljedećim dopuštenjima za datoteku, pogledajmo kako ih možemo promijeniti pomoću oktalne metode:

-rw-rw-rw-

Iznad(Above) možete vidjeti da sam koristio sljedeću naredbu:

chmod 744 filename

To u osnovi kaže da vlasnik dobiva dopuštenje za čitanje/pisanje/izvršenje, a grupa i ostali dobivaju samo dopuštenje za čitanje. Kao što vidite, lako je dodati ili ukloniti dopuštenja u jednoj jednostavnoj naredbi. Nastavimo i recimo da želim ponovno promijeniti dozvole.

Sada sam upotrijebio sljedeću naredbu, opet vrlo jednostavnu:

chmod 640 filename

Ovdje smo vlasniku dali dopuštenja za čitanje/pisanje, dopuštenje samo za čitanje grupe, a za drugu grupu bez dopuštenja. Koristite nulu da označite da nema dopuštenja. Prilično jednostavno, ha?

Zaključno, ovo je vrlo jednostavan pregled dozvola za Linux i može postati puno kompliciraniji od ovoga, ali za početnike je dobro mjesto za početak. U budućnosti ću objavljivati ​​više članaka o naprednijim dopuštenjima. Ako imate pitanja, slobodno komentirajte. Uživati!



About the author

Ja sam softverski inženjer i istraživač. Imam iskustva s Microsoft Xbox 360 i Google Explorerom. U mogućnosti sam pružiti stručne preporuke za određene alate za razvoj softvera, kao i pomoći ljudima u otklanjanju uobičajenih pogrešaka Explorera.



Related posts