Pochopenie povolení Linuxu a používania chmod

Posledných pár mesiacov som chodil na kurz Linuxu(Linux) a jeden aspekt Linuxu(Linux) , ktorý ma vždy zmiatol, bolo to, ako fungujú povolenia. Napríklad, keď som raz odovzdal súbor na môj webový server a došlo k chybe, môj webový hostiteľ mi povedal, aby som zmenil oprávnenia súboru na 755.

Nemal som potuchy, čo to znamená, aj keď zmena povolení problém vyriešila. Teraz som si uvedomil , že povolenia pre Linux(Linux) nie sú až také zložité, len musíte pochopiť systém. V tomto článku budem hovoriť o povoleniach systému Linux(Linux) na vysokej úrovni a ukážem vám, ako použiť príkaz chmod na zmenu povolení pre súbory a priečinky.

Linux povolenia a úrovne

V Linuxe(Linux) existujú v zásade tri povolenia, o ktoré sa budete musieť starať: čítať, zapisovať a spúšťať. Všetky tri sú celkom samovysvetľujúce. Teraz, keď sú tieto povolenia aplikované na súbor, sú aplikované na úrovniach.

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

Čítanie(Read) , zápis a vykonávanie sú reprezentované buď ako symbolické znaky, alebo ako osmičkové čísla. Napríklad, ak v adresári s niektorými súbormi urobíte ls -l, uvidíte symbolickú znakovú reprezentáciu oprávnení.

Oprávnenia sú napísané nasledovne: prvý bit je buď pomlčka alebo písmeno d. Pomlčka(Dash) znamená, že ide o súbor a d znamená adresár. Všimnite si, že prvý bit môže byť tiež l , ak je názov súboru odkaz. Ďalej sú to tri skupiny po troch bitoch. Prvý bit v každej skupine je na čítanie, druhý bit na zápis a tretí bit na spustenie. Prvé tri bity sú pre vlastníka, druhé tri bity sú pre skupinu a tretie tri bity sú pre ostatných. Tu je vizuálnejšie vysvetlenie.

Ak namiesto písmena vidíte pomlčku, znamená to, že vlastník, skupina alebo všetci ostatní používatelia toto povolenie nemajú. Vo vyššie uvedenom príklade má vlastník, skupina a všetci ostatní oprávnenia na čítanie, zápis a spúšťanie.

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

-rw-rw-rw-

To znamená, že každý má iba oprávnenia na čítanie/zápis pre súbor. Tu je ďalší príklad:

drwxr--r--

Pri pohľade na prvý bit vidíme, že povolenia sú pre adresár. Vlastník má oprávnenia na čítanie/zápis/spúšťanie, ale skupina a ostatní používatelia majú oprávnenie len na čítanie.

Osmičkové zobrazenie čísla

Takže takto sa oprávnenia zobrazujú v Linuxe(Linux) pomocou symbolov. Druhým spôsobom, ako reprezentovať rovnaké povolenia, je použitie osmičkových čísel. Keď neskôr použijeme príkaz chmod, uvidíte, že oprávnenia môžete zmeniť pomocou symbolov alebo osmičkových čísel.

Ako teda Linux predstavuje čítanie, zápis a spúšťanie pomocou osmičkových čísel? V podstate len priradí číslo každému oprávneniu, ako je uvedené nižšie.

Oprávnenie na čítanie predstavuje 4, zápis 2 a spustenie 1. Jediné, čo musíte urobiť, je sčítať, aby ste získali osmičkové oprávnenie. Vezmime si napríklad vyššie uvedený príklad, kde má každý všetky povolenia:

-rwxrwxrwx

Majiteľ má rwx, takže pridáme 4 + 2 + 1, aby sme dostali hodnotu 7. To isté robíme pre skupinu a to isté pre ostatných. Konečná osmičková hodnota je 777. Pozrime sa na príklad, kde sme udelili iba povolenia na čítanie/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 a teraz to skúsme inak. Povedzme, že chceme vedieť, aké povolenia 755 predstavujú? No, dá sa to celkom ľahko zistiť, ak si to rozdelíte podľa jednotlivých čísel. Prvé číslo je 7, ktoré môžeme získať iba sčítaním 4 + 2 + 1, čo znamená, že vlastník má povolenie na čítanie/zápis/vykonávanie. Päť je možné získať iba pridaním 4 + 1, čo znamená, že skupina a ostatní používatelia majú povolenia na čítanie a spúšťanie.

Dúfajme(Hopefully) , že je to dobré vysvetlenie, ako reprezentovať povolenia v systéme Linux(Linux) pomocou osmičkových čísel. Celkovo je to celkom priamočiare.

Použitie chmod na úpravu povolení

Teraz, keď chápeme, 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ší spôsob, ako vysvetliť príkaz, je prejsť si príklad.

Začnime povoleniami, o ktorých sme hovorili vyššie, konkrétne:

-rw-rw-rw-

Ak by sme chceli pridať povolenie na spustenie pre vlastníka, skupinu a iné, mohli by sme to urobiť dvoma 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

chmod a+x filename

Syntax je nasledovná: písmeno alebo písmená predstavujúce vlastníka ( u ), skupinu ( g ), iné ( o ) alebo všetky ( a ), za ktorým nasleduje + pre pridanie povolení alebo a pre odobratie povolení a potom písmeno pre povolenie ( r na čítanie, w na zápis a x na spustenie).

Vo vyššie uvedenom príklade som pridal povolenie na spustenie pre všetkých používateľov. Výsledok, ako môžete vidieť na obrázku vyššie, je x pre vlastníka, skupinu a iné. Teraz povedzme, že som chcel odstrániť oprávnenia na zápis a spustenie iba pre skupinu a ostatných používateľov.

Ako môžete vidieť tu, použil som na to nasledujúci príkaz:

chmod go-wx filename

Keďže chcem zmeniť oprávnenia 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 spustenie, takže používam w a x . Tu je praktická malá tabuľka na použitie symbolov:

Takže to je všetko, čo sa týka použitia metódy symbolov. Teraz si povedzme o osmičkovej metóde, ktorá je podľa mňa o niečo jednoduchšia. Octal je pekné, pretože môžete pridávať alebo odoberať povolenia naraz.

Ak začneme s nasledujúcimi povoleniami pre súbor, pozrime sa, ako ich môžeme zmeniť pomocou osmičkovej metódy:

-rw-rw-rw-

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

chmod 744 filename

To v podstate hovorí, že vlastník dostane povolenie na čítanie/zápis/vykonávanie a skupina a iní dostanú povolenie iba na čítanie. Ako môžete vidieť, je ľahké pridať alebo odstrániť povolenia jedným jednoduchým príkazom. Pokračujme a povedzme, že chcem znova zmeniť povolenia.

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

chmod 640 filename

Tu sme vlastníkovi udelili povolenia na čítanie/zápis, skupine len na čítanie a druhej skupine žiadne povolenia. Na označenie žiadnych povolení používate nulu. Celkom jednoduché, čo?

Na záver, toto je veľmi jednoduchý prehľad povolení Linuxu(Linux) a môže byť oveľa komplikovanejší, ale pre začiatočníkov je to dobré miesto, kde začať. V budúcnosti uverejním ďalšie články o pokročilejších povoleniach. Ak máte nejaké otázky, neváhajte ich komentovať. Užite si to!



About the author

Používam Google Chrome a používam ho už roky. Viem, ako efektívne využívať funkcie prehliadača a dokážem spracovať akýkoľvek typ webovej stránky, s ktorou sa môžete stretnúť. Mám tiež skúsenosti s nástrojmi na zabezpečenie rodiny vrátane aplikácie Google Family Safety, ktorá vám umožňuje sledovať aktivity vašich detí na internete.



Related posts