Preporučeno, 2022

Izbor Urednika

Razumijevanje dozvola za Linux i korištenja chmoda

Zadnjih nekoliko mjeseci sam pohađao tečaj o Linuxu, a jedan aspekt Linuxa koji me je uvijek zbunjivao bio je način na koji su dozvole funkcionirale. Na primjer, kada jednom prenesem datoteku na moj web poslužitelj i dobijem pogrešku, moj web host mi je rekao da promijenim dozvole datoteke na 755.

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

Dozvole i razine za Linux

U Linuxu, u osnovi postoje tri dozvole za koje ćete obično morati brinuti: čitati, pisati i izvršavati. Sva tri su prilično razumljiva. Kada se te dozvole primijene na datoteku, one se primjenjuju u razinama.

U Linuxu postoje tri razine dozvola: vlasnik, grupa i drugo. 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 grupa.

Čitanje, pisanje i izvršavanje predstavljeni su ili kao simbolički znakovi ili kao oktalni brojevi. Na primjer, ako u imeniku s nekim datotekama napravite ls -l, vidjet ćete prikaz simboličkih znakova dozvola.

Dozvole se pišu na sljedeći način: prvi bit je ili crtica ili slovo d. Dash znači da je datoteka i d označava direktorij. Imajte na umu da prvi bit može biti i ako je ime datoteke veza. Zatim postoje tri skupine od tri bita. Prvi bit u svakoj grupi je za čitanje, drugi bit je za pisanje, a treći bit je za izvršavanje. Prva tri bita su za vlasnika, druga tri za skupinu, a treća za druga. Evo još vizualnog 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 pisanje i izvršavanje.

Ako pogledate izlaz iz naredbe ls -l, primijetit ćete da moja datoteka s tekstom prakse ima sljedeće dozvole:

 -rw-RW-rt- 

To znači da svatko ima samo dozvole za čitanje / pisanje za datoteku. Evo još jednog primjera:

 drwxr - R- 

Gledajući prvi bit, vidimo da su dozvole za direktorij. Vlasnik ima dozvole za čitanje / pisanje / izvršavanje, ali grupa i drugi korisnici imaju samo dozvolu za čitanje.

Predstavljanje oktalnog broja

Tako se dozvole prikazuju u Linuxu pomoću simbola. Drugi način predstavljanja istih dozvola je upotreba oktalnih brojeva. Kada kasnije upotrijebimo naredbu chmod, vidjet ćete da možete mijenjati dozvole pomoću simbola ili oktalnih brojeva.

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

Dozvola za čitanje predstavljena je s 4, piše po 2 i izvršava se po 1. Sve što trebate učiniti je dodati ih kako biste dobili dozvolu za oktal. Na primjer, uzmimo primjer iznad gdje svatko ima sve dozvole:

 -rwxrwxrwx 

Vlasnik ima rwx, pa ćemo dodati 4 + 2 + 1 kako bismo dobili vrijednost 7. Isto vrijedi i za grupu i za istu stvar. Konačna oktalna vrijednost je 777. Pogledajmo primjer gdje smo dali samo dozvole za čitanje / pisanje:

 -rw-RW-rt- 

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

Pokušajmo sada na drugi način. Recimo da želimo znati koje dozvole predstavlja 755 ? Pa, prilično je lako shvatiti ako ga podijelite na pojedinačne brojeve. 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 su grupa i drugi korisnici pročitali i izvršili dozvole.

Nadam se da je to dobro objašnjenje za to kako predstaviti dozvole u Linuxu pomoću oktalnih brojeva. Sveukupno je prilično jednostavno.

Upotreba chmod za izmjenu dopuštenja

Sada kada razumijemo kako čitati dozvole, razgovarajmo o tome kako ih možemo promijeniti. Najjednostavniji uslužni program koji se koristi u tu svrhu je naredba chmod. Evo kako to radi. Najbolji način da objasnite naredbu je proći kroz primjer.

Počnimo s dozvolama o kojima smo govorili gore, naime:

 -rw-RW-rt- 

Ako smo htjeli dodati dopuštenje izvršenja za vlasnika, grupu i drugo, mogli bismo to učiniti na dva načina. Možemo 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 naziv datoteke 

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

U gornjem primjeru dodao sam dozvolu izvršenja za sve korisnike. Rezultat kao što možete vidjeti na slici iznad je x za vlasnika, grupu i drugo. Recimo da sam htjela ukloniti dozvole za pisanje i izvršavanje samo za grupu i druge korisnike.

Kao što možete vidjeti ovdje, koristio sam sljedeću naredbu kako bih to postigao:

 ime datoteke chmod go-wx 

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

Dakle, to je sve što se koristi metodom simbola. Razgovarajmo sada o oktalnoj metodi, za koju smatram da je malo lakša. Octal je lijep jer možete dodati ili ukloniti dozvole u jednom pokretu.

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

 -rw-RW-rt- 

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

 ime datoteke chmod 744 

To u osnovi kaže da vlasnik dobiva dozvolu za čitanje / pisanje / izvršavanje, a grupa i drugi dobivaju samo dozvolu za čitanje. Kao što možete vidjeti, lako je dodavati ili uklanjati dozvole u jednoj jednostavnoj naredbi. Nastavimo dalje i kažemo da želim ponovno promijeniti dopuštenja.

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

 chmod 640 naziv datoteke 

Ovdje smo dali vlasniku dozvole za čitanje / pisanje, samo dopuštenje za čitanje grupe, a druga grupa nema dozvole. Za označavanje dopuštenja koristite nulu. Prilično jednostavno, a?

U zaključku, ovo je vrlo jednostavan pregled dozvola za Linux i može postati puno složeniji od toga, ali za početnike je dobro mjesto za početak. Ubuduće ću objavljivati ​​više članaka o naprednijim dozvolama. Ako imate bilo kakvih pitanja, slobodno komentirajte. Uživati!

Top