Odporúčaná, 2019

Redakcia Choice

Pochopenie oprávnení pre Linux a používanie chmodu

V posledných niekoľkých mesiacoch som absolvoval kurz v systéme Linux a jeden aspekt Linuxu, ktorý ma vždy zamieňal, bol spôsob, akým pracovali povolenia. Napríklad pri odovzdávaní súboru na môj webový server raz a získaní chyby mi povedal môj webový hostiteľ meniť povolenia súboru na 755.

Nevedel som, čo to znamená, aj keď zmena oprávnení problém vyriešila. Teraz som si uvedomil, že povolenia pre Linux nie sú všetko komplikované, stačí pochopiť systém. V tomto článku budem hovoriť o oprávneniach na platforme Linux na vysokej úrovni a ukážeme vám, ako používať príkaz chmod na zmenu povolení pre súbory a priečinky.

Povolenia a úrovne systému Linux

V systéme Linux existujú v podstate tri povolenia, o ktorých sa zvyčajne budete musieť starať: čítať, písať a spúšťať. Všetky tri z nich sú celkom samozrejmé. Teraz, keď sú tieto oprávnenia aplikované na súbor, sú použité v úrovniach.

V systéme Linux existujú tri úrovne povolení: vlastník, skupina a iné. Vlastník je používateľ, ktorý vlastní súbor alebo priečinok, skupina zahŕňa ostatných používateľov v skupine súborov a ostatné predstavujú všetkých ostatných používateľov, ktorí nie sú vlastníkmi alebo v skupine.

Čítanie, zápis a spúšťanie sú reprezentované ako symbolické znaky, alebo ako osmičkové čísla. Napríklad ak urobíte ls -l v adresári s niektorými súbormi, uvidíte symbolické zobrazenie oprávnení.

Povolenia sú napísané nasledovne: prvý bit je pomlčka alebo písmeno d. Dash znamená, že je to súbor a d je adresár. Všimnite si, že prvý bit môže byť aj l, ak je názov súboru odkazom. Ďalej existujú tri skupiny troch bitov. Prvý bit v každej skupine je pre čítanie, druhý bit je pre zápis a tretí bit je na vykonanie. Prvé tri bity sú pre majiteľa, druhé tri bity sú pre skupinu a tretie tri bity sú pre ostatné. Tu je viac vizuálne vysvetlenie.

Ak vidíte pomlčku namiesto písmena, znamená to, že vlastník, skupina alebo všetci ostatní používatelia nemajú toto povolenie. V príklade vyššie vlastník, skupina a všetci ostatní čítali zápis a spustili povolenia.

Ak sa pozriete na výstup z príkazu ls -l, všimnete si, že môj textový súbor s praxou má nasledujúce povolenia:

 -RW-rw-Rw- 

To znamená, že každý má iba povolenie na čítanie a zápis súboru. Tu je ďalší príklad:

 drwxr - r-- 

Keď sa pozrieme na prvý bit, môžeme vidieť, že povolenia sú pre adresár. Vlastník má oprávnenia na čítanie / zápis / vykonávanie, ale skupina a ostatní používatelia majú povolenie na čítanie.

Zastúpenie oktárneho čísla

Takto sa v systéme Linux zobrazujú povolenia pomocou symbolov. Druhým spôsobom, ako reprezentovať rovnaké povolenia, je používať osmičkové čísla. Keď použijeme príkaz chmod neskôr, uvidíte, že môžete zmeniť povolenia pomocou symbolov alebo osmičkových čísel.

Takže ako Linux reprezentuje čítanie, písanie a spúšťanie pomocou osmičkových čísel? V zásade prideľuje číslo každému povoleniu, ako je uvedené nižšie.

Povolenie na čítanie je reprezentované číslom 4, napíšte 2 a vykonajte ho 1. Všetko, čo musíte urobiť, je pridať ich, aby získali osmičkové povolenie. Napríklad, vezmime príklad vyššie, kde všetci majú všetky povolenia:

 -rwxrwxrwx 

Vlastník má rwx, takže pridajme 4 + 2 + 1, aby sme získali hodnotu 7. Robíme to isté pre skupinu a to isté pre ostatných. Konečná oktávna hodnota je 777. Poďme sa pozrieť na príklad, kde sme zadali iba oprávnenia na čítanie a zápis:

 -RW-rw-Rw- 

Prvé osmičkové číslo bude 4 + 2, pretože pridávame čítanie a zápis. Druhý bude rovnaký ako tretie osmičkové číslo. Tu máme konečnú osmičkovú hodnotu 666.

Takže teraz to skúsme inak. Povedzme, že chceme vedieť, aké povolenia 755 predstavuje? No, je veľmi ľahké zistiť, či to rozdelíte podľa jednotlivých čísel. Prvé číslo je 7, ktoré môžeme získať len pridaním 4 + 2 + 1, čo znamená, že vlastník má oprávnenie na čítanie / zápis / vykonanie. Päť možno získať len pridaním 4 + 1, čo znamená, že skupina a ostatní používatelia čítajú a vykonávajú povolenia.

Dúfajme, že je to dobré vysvetlenie, ako reprezentovať povolenia v systéme Linux pomocou osmičkových čísel. Je celkom celkom rovno.

Používanie chmodu na zmenu oprávnení

Teraz, keď vieme, ako čítať povolenia, poďme sa rozprávať o tom, ako ich môžeme zmeniť. Najjednoduchším nástrojom na tento účel je príkaz chmod. Tu je návod, ako to funguje. Najlepším spôsobom, ako vysvetliť príkaz, je prejsť príkladom.

Začnime s povoleniami, o ktorých sme hovorili vyššie, a to:

 -RW-rw-Rw- 

Ak by sme chceli pridať povolenie na vykonanie vlastníka, skupiny a iných, mohli by sme to urobiť dvomi spôsobmi. Mohli by sme použiť symbolovú metódu alebo osmičkovú metódu. Pre symbolovú metódu by sme urobili nasledovné, ako je uvedené nižšie:

Presný príkaz je

 názov súboru chmod a + x 

Syntax je nasledovný: písmeno alebo písmená reprezentujúce majiteľa ( u ), skupinu ( g ), iné ( o ) alebo všetky ( a ) za ktorým nasleduje + pridať povolenia alebo - pre odňatie povolení a potom písmeno povolenie ( r pre čítanie, w pre zápis a x pre vykonanie).

Vo vyššie uvedenom príklade som pridala povolenie na vykonanie všetkých používateľov. Výsledok, ako vidíte na obrázku vyššie, je x pre majiteľa, skupinu a ďalšie. Teraz povedzme, že chcem odstrániť oprávnenia na písanie a spúšťanie len pre skupiny a ostatných používateľov.

Ako môžete vidieť tu, zvykol som na tento príkaz, aby som to splnil:

 chmod go-wx názov súboru 

Keďže chcem zmeniť povolenia pre skupinu a iné, používam písmeno g a písmeno o . Chcem odstrániť povolenia, preto používam znak - . Nakoniec chcem odstrániť oprávnenia na zápis a spúšťanie, takže používam w a x . Tu je užitočná malá tabuľka pre používanie symbolov:

Takže to je všetko, čo sa týka používania symbolovej metódy. Teraz poďme hovoriť o osemčlennej metóde, ktorú považujem za trochu jednoduchšie. Octal je pekný, pretože môžete pridať alebo odstrániť povolenia všetko naraz.

Ak začneme s nasledujúcimi povoleniami v súbore, uvidíme, ako ich môžeme zmeniť pomocou osmičkovej metódy:

 -RW-rw-Rw- 

Vyššie môžete vidieť, že som použil nasledujúci príkaz:

 chmod 744 názov súboru 

To v podstate hovorí, že vlastník dostane čítanie / zápis / vykonanie povolenia a skupina a iné získajú povolenie len na čítanie. Ako môžete vidieť, je jednoduché pridať alebo odstrániť povolenia jedným jednoduchým príkazom. Poďme ďalej a povedzme, že chcem znova zmeniť povolenie.

Teraz som použil nasledujúci príkaz, znova veľmi jednoduchý:

 chmod 640 názov súboru 

Tu sme majiteľovi povolenia na čítanie a zápis, oprávnenie na čítanie skupiny iba a ostatné skupiny žiadne povolenia. Použijete nulu na označenie žiadnych povolení. Docela jednoduché, čo?

Na záver je to veľmi jednoduchý prehľad o oprávneniach pre Linux a môže to byť oveľa komplikovanejšie, ale pre začiatočníkov je to dobré miesto na začiatok. Budem uverejňovať ďalšie články o pokročilejších povoleniach v budúcnosti. Ak máte akékoľvek otázky, neváhajte komentovať. Užite si to!

Top