V tej hitri vadnici bomo videli, kako jo lahko uporabimo chmod ukaz v stroju Ubuntu za iskanje, spreminjanje in odstranjevanje uporabniških dovoljenj iz določenih datotek, ki obstajajo v uporabnikovem datotečnem sistemu. Igrajmo se skozi različne pogoje, da bomo lahko obvladali osnovno chmod ukazi, ki nam lahko olajšajo vsakdanje življenje z Ubuntujem.
Dovoljenja za Linux
Dovoljenja za Linux so odličen niz pravil, ki jih je enostavno razumeti, če razumemo osnovne pravice. Tri glavne točke, ki jih moramo razumeti, da vemo, kako delujejo dovoljenja za Linux:
- Element, za katerega so bila določena dovoljenja
- Katera dejanja je mogoče izvesti z dovoljenjem
- Kdo lahko izvaja katera dejanja
V datotečnem sistemu Linux sta dva osnovna elementa:
- Imeniki
- Datoteke
Izvajamo lahko tri akcije:
- Preberite
- Napiši
- Izvedite. Poleg izvajanja skriptov so za ustvarjanje datotek in drugih map znotraj njih potrebna enaka dejanja
Uporabnik, ki lahko izvaja ta dejanja, je:
- Lastnik datoteke
- Skupina lastnika datoteke
- Uporabnik, ki ni povezan z lastniško skupino ali samim lastnikom
Če si želite ogledati dovoljenja, povezana z datoteko, zaženite naslednji ukaz:
ls -lTukaj dobimo s tem ukazom:
Poiščite dovoljenje za datoteke
V izhodnih podatkih prvih 10 znakov predstavlja dovoljenje za datoteko:
- Prvi znak, ki je v tem primeru '-', pomeni, da gre za datoteko. Za imenik bi bilo to "d".
- Naslednjih devet znakov predstavlja dovoljenja za lastnika, skupino lastnikov in druge.
Spreminjanje dovoljenj
Sintaksa za spreminjanje dovoljenja datoteke je videti tako:
datoteka dovoljenj chmod [datoteka 2]…Osmerobna predstavitev za dovoljenja
Dovoljenja lahko predstavimo kot osmiško število. Na primer, za nastavitev dovoljenj za branje, pisanje in izvajanje lastnika, dovoljenj za branje in pisanje za svojo skupino in brez dovoljenj za druge, na zdravo.txt, izvedli bomo naslednji ukaz:
sudo chmod 760 pozdravljeni.txtKo izvedemo zgornji ukaz in poskusimo prebrati datoteko z nelastniškim računom z naslednjim ukazom:
sudo -u notowner-user še zdravo.txtDobili bomo naslednjo napako:
zdravo.txt: dovoljenje zavrnjenoToda od kod ta številka? Vsaka številka te številke predstavlja nabor dovoljenj. Poglejmo, kako so bili pridobljeni:
- 0: Označuje, da ni dovoljenja
- 1: Označuje izvršiti dovoljenje
- 2: Označuje piši dovoljenje
- 4: Označuje preberite dovoljenje
Za dodelitev dovoljenj za branje, pisanje in izvajanje lastniku smo mu dodelili številko 7 (= 4 + 2 + 1). Naj to bolje razumemo v tabeli števk:
Številka | Binarno | Preberite | Napiši | Izvedite |
0 | 000 | ŠT | ŠT | ŠT |
1 | 001 | ŠT | ŠT | DA |
2 | 010 | ŠT | DA | ŠT |
3 | 011 | ŠT | DA | DA |
4 | 100 | DA | ŠT | ŠT |
5 | 101 | DA | ŠT | DA |
6 | 110 | DA | DA | ŠT |
7 | 111 | DA | DA | DA |
Zgornja tabela je zelo jasna v tem, kaj predstavlja vsaka v smislu dovoljenj datotek.
Predstavitev znakov za dovoljenja
Dovoljenja lahko predstavimo kot osmiško število. Na primer, če želite lastniku nastaviti dovoljenja za branje, pisanje in izvrševanje za lastnika, dovoljenja za branje in pisanje za svojo skupino in brez dovoljenja za druge, zdravo.txt, bomo izvedli naslednji ukaz:
sudo chmod u = rwe, g = rw, o-rwx pozdravljeni.txtČe želite obstoječim uporabnikom dodati dovoljenja, lahko naredimo tudi:
sudo chmod g + w zdravo.txtTu je bilo dovoljenje za pisanje dodeljeno uporabniški skupini lastnika datoteke.
Rekurzivne spremembe dovoljenj
Z enim ukazom lahko spremenimo tudi dovoljenja za datoteke v določenem imeniku. Če želite hkrati spremeniti dovoljenja za vsako datoteko in mapo v predvidenem imeniku, uporabite sudo chmod z -R:
sudo chmod 777 Imenik / *Vidimo lahko naslednji izhod, ki jasno odraža spremembo dovoljenj za datoteke:
Rekurzivno spreminjanje dovoljenj za datoteke
Zaključek
V tej lekciji smo preučili, kako lahko spremenimo dovoljenja za datoteke in po potrebi to storimo rekurzivno. Razumeli smo osnovne koncepte, kako so dovoljenja Linuxa, ki nam lahko zelo pomagajo pri vsakodnevnem delu.