Ako povolenia súboru Linux fungujú?

Obsah:

Ako povolenia súboru Linux fungujú?
Ako povolenia súboru Linux fungujú?

Video: Ako povolenia súboru Linux fungujú?

Video: Ako povolenia súboru Linux fungujú?
Video: Hypervisors and Virtualization Explained | What is a Hypervisor? | What is Virtualization? - YouTube 2024, Smieť
Anonim
Ak už dlho používate Linux (a dokonca aj OS X), pravdepodobne ste narazili na chybu "oprávnenia". Ale čo presne sú a prečo sú potrebné alebo užitočné? Vezmime si vnútorný vzhľad.
Ak už dlho používate Linux (a dokonca aj OS X), pravdepodobne ste narazili na chybu "oprávnenia". Ale čo presne sú a prečo sú potrebné alebo užitočné? Vezmime si vnútorný vzhľad.

Povolenia používateľa

V priebehu dňa počítače boli masívne stroje, ktoré boli neuveriteľne drahé. Aby sa z nich čo najviac využilo, boli pripojené viaceré počítačové terminály, ktoré umožnili mnohým používateľom súčasne pracovať s ich podnikaním. Spracovanie a ukladanie údajov bolo vykonané na stroji, zatiaľ čo samotné terminály boli len o niečo viac ako prostriedok na prezeranie a zadávanie údajov. Ak o tom premýšľate, do akej miery pristupujeme k údajom o "mraku"; pozrite sa na systém Amazon Cloud MP3, Gmail a Dropbox a všimnete si, že hoci zmeny môžu byť vykonané lokálne, všetko sa uloží na diaľku.

(Obrázok: Zenith Z-19 "dumb" terminál, kredit: ajmexico)
(Obrázok: Zenith Z-19 "dumb" terminál, kredit: ajmexico)

Aby to fungovalo, individuálni používatelia potrebujú mať účty. Musia mať časť úložného priestoru pridelená im a musia im byť povolené spustiť príkazy a programy. Každý dostane špecifické "používateľské oprávnenia", ktoré diktujú, čo môžu a čo nemôžu robiť, kde v systéme robia a nemajú prístup a ktorých súbory môžu a nemôžu upravovať. Každý používateľ je tiež umiestnený do rôznych skupín, ktoré udeľujú alebo obmedzujú ďalší prístup.

Prístup k súborom

V tomto šialenom prostredí pre viacerých používateľov sme už nastavili hranice toho, čo môžu používatelia robiť. Ale čo s tým, na čo pristupujú? Každý súbor má sadu oprávnení a vlastníka. Označenie vlastníka, zvyčajne viazané pri vytváraní súboru, deklaruje, ku ktorému používateľovi patrí a iba tento používateľ môže zmeniť svoje prístupové povolenia.
V tomto šialenom prostredí pre viacerých používateľov sme už nastavili hranice toho, čo môžu používatelia robiť. Ale čo s tým, na čo pristupujú? Každý súbor má sadu oprávnení a vlastníka. Označenie vlastníka, zvyčajne viazané pri vytváraní súboru, deklaruje, ku ktorému používateľovi patrí a iba tento používateľ môže zmeniť svoje prístupové povolenia.

Vo svete Linuxu sú povolenia rozdelené do troch kategórií: čítanie, zápis a spúšťanie. Prístup "Čítanie" umožňuje zobrazenie obsahu súboru, prístup "zápis" umožňuje upraviť obsah súboru a "spustiť" umožňuje spustiť súbor pokynov, ako napríklad skript alebo program. Každá z týchto kategórií sa používa v rôznych triedach: používateľ, skupina a svet. "Používateľ" znamená vlastníka, "skupina" znamená akéhokoľvek používateľa, ktorý je v rovnakej skupine ako vlastník a "svet" znamená niekoho a každého.

Priečinky môžu byť tiež obmedzené týmito oprávneniami. Môžete napríklad povoliť iným ľuďom vo vašej skupine, aby si pozreli adresáre a súbory vo vašom domovskom priečinku, ale nikto mimo vašej skupiny. Budete pravdepodobne chcieť obmedziť prístup "písať" iba na seba, ak pracujete na nejakom zdieľanom projekte. Môžete tiež vytvoriť zdieľaný adresár, ktorý umožňuje komukoľvek zobraziť a upraviť súbory v tejto zložke.
Priečinky môžu byť tiež obmedzené týmito oprávneniami. Môžete napríklad povoliť iným ľuďom vo vašej skupine, aby si pozreli adresáre a súbory vo vašom domovskom priečinku, ale nikto mimo vašej skupiny. Budete pravdepodobne chcieť obmedziť prístup "písať" iba na seba, ak pracujete na nejakom zdieľanom projekte. Môžete tiež vytvoriť zdieľaný adresár, ktorý umožňuje komukoľvek zobraziť a upraviť súbory v tejto zložke.

Zmena oprávnení v Ubuntu

GUI

Ak chcete zmeniť povolenia súboru, ktorý vlastníte v Ubuntu, kliknite pravým tlačidlom na súbor a prejdite na položku Vlastnosti.

Môžete zmeniť, či majiteľ, skupina alebo iní môžu čítať a písať, čítať alebo nerobiť nič. Môžete tiež skontrolovať políčko umožňujúce spustenie súboru a toto umožní pre vlastníka, skupinu a iné súčasne.
Môžete zmeniť, či majiteľ, skupina alebo iní môžu čítať a písať, čítať alebo nerobiť nič. Môžete tiež skontrolovať políčko umožňujúce spustenie súboru a toto umožní pre vlastníka, skupinu a iné súčasne.

Príkazový riadok

Môžete to urobiť aj prostredníctvom príkazového riadku. Prejdite do adresára, ktorý obsahuje súbory a zadajte nasledujúci príkaz na zobrazenie všetkých súborov v zozname:

ls -al

Vedľa každého súboru a adresára sa zobrazí špeciálna časť, ktorá načrtáva oprávnenia, ktoré má. Vyzerá to takto:
Vedľa každého súboru a adresára sa zobrazí špeciálna časť, ktorá načrtáva oprávnenia, ktoré má. Vyzerá to takto:

-rwxrw-r–

r znamená "čítať" w znamená "písať" a X znamená "spustiť". Adresáre sa začínajú "d" namiesto "-". Tiež si všimnete, že je tu 10 priestorov, ktoré majú hodnotu. Môžete ignorovať prvý a potom sú 3 sady 3. Prvá sada je pre majiteľa, druhá sada je pre skupinu a posledná sada je pre svet.

Ak chcete zmeniť povolenie súboru alebo adresára, pozrite sa na základnú formu príkazu chmod.

chmod [class][operator][permission] file

chmod [ugoa][+ or –] [rwx] file

Možno to na prvý pohľad môže zdať komplikované, ale verte mi, je to dosť jednoduché. Po prvé, pozrime sa na triedy:

  • u: Toto je pre majiteľa.
  • g: Toto je pre skupinu.
  • o: Toto je pre všetkých ostatných.
  • a: Toto zmení povolenia pre všetky vyššie uvedené.

Ďalej prevádzkovatelia:

  • +: Znamienko plus pridá povolenia, ktoré nasledujú.
  • -: Znak mínus odstráni oprávnenia, ktoré nasledujú.

Stále so mnou? A posledná časť je rovnaká ako pri kontrole oprávnení súboru:

  • r: Umožňuje prístup na čítanie.
  • w: Umožňuje prístup na zápis.
  • x: Umožňuje vykonanie.

Teraz, poďme to dohromady. Povedzme, že máme súbor s názvom "todo.txt", ktorý má nasledujúce povolenia:

-rw-rw-r–

To znamená, že majiteľ a skupina môžu čítať a písať a svet môže len čítať. Chceme zmeniť tieto povolenia:

-rwxr-–

To znamená, že majiteľ má plné povolenia a skupina môže čítať. Môžeme to urobiť v troch krokoch. Najprv pridáme oprávnenie na vykonanie pre používateľa.

chmod u+x todo.txt

Potom odstránime povolenie na zápis pre skupinu.

chmod g-w todo.txt

Nakoniec odstránime povolenia na čítanie pre všetkých ostatných používateľov.

chmod o-r todo.txt

Tiež ich môžeme kombinovať do jedného príkazu, napríklad:

chmod u+x,g-w,o-r todo.txt

Môžete vidieť, že každá sekcia je oddelená čiarkami a nie sú žiadne medzery.
Môžete vidieť, že každá sekcia je oddelená čiarkami a nie sú žiadne medzery.

Tu sú niektoré užitočné povolenia:

  • -rwxr-xr-x: Vlastník má plné povolenia, skupina a ostatní používatelia môžu čítať obsah súboru a vykonávať.
  • -rwxr-r-: Vlastník má plné povolenia, skupina a ostatní používatelia môžu iba čítať súbor (užitočné, ak vám nevadí ostatné prezeranie súborov.
  • -rwx--: Vlastník má plné povolenia, všetky ostatné nemajú žiadny (užitočné pre osobné skripty).
  • -rw-rw--: Vlastník a skupina môžu čítať a písať (užitočné pre spoluprácu s členmi skupiny).
  • -rw-r-r-: Vlastník môže čítať a písať, zoskupovať a iní užívatelia môžu len čítať súbor (užitočné na ukladanie osobných súborov na zdieľanej sieti).
  • -rw ---: Vlastník môže čítať a písať, všetky ostatné nemajú žiadny (užitočné pre ukladanie osobných súborov).

Existuje niekoľko ďalších vecí, ktoré môžete robiť s chmod - ako setuid a setgid - ale sú to trochu hĺbkové a väčšina používateľov ich skutočne nebude musieť použiť.

Súbory root alebo Super-User a System

V súčasnosti nie vždy používame systémy s viacerými používateľmi. Prečo by sme sa mali stále starať o povolenia?
V súčasnosti nie vždy používame systémy s viacerými používateľmi. Prečo by sme sa mali stále starať o povolenia?

No, Unix a jeho deriváty - Linux, OS X, okrem iného - tiež rozlišujú medzi vecami bežiacimi používateľom, vecimi spravovanými administrátorom alebo s administrátorskými oprávneniami a vecami, ktoré spravuje samotný systém. Ako také, veci, ktoré sú integrálne pre systém, vyžadujú administrátorské práva na zmenu alebo prístup. Týmto spôsobom nič nepoškodíte.

V Ubuntu vykonajte zmeny v systémových súboroch pomocou "sudo" alebo "gksudo", aby získali ekvivalent oprávnení správcu. V ostatných rozdeleniach sa prepnete na "koreň" alebo "superužívateľ", ktorý efektívne robí to isté, kým sa odhlásíte.

Uvedomte si, že v obidvoch prípadoch môže zmena oprávnení k súborom viesť k tomu, že programy nefungujú, neúmyselne menia vlastníctvo súborov na užívateľa root (namiesto vlastníka) a robia systém bezpečnejším (tým, že udeľujú ďalšie povolenia). Preto sa neodporúča meniť povolenia pre súbory - najmä systémové súbory - ak to nie je potrebné alebo viete, čo robíte.

Súborové oprávnenia sú zavedené na poskytovanie základného systému bezpečnosti medzi používateľmi. Učenie, ako fungujú, vám môže pomôcť nastaviť základné zdieľanie v prostredí pre viacerých používateľov, chrániť "verejné" súbory a poskytnúť vám informácie o tom, kedy sa niečo stane s vlastníctvom súborového súboru.

Myslíte si, že môžete ľahšie vysvetliť veci? Máte opravu? Chcete spomenúť na staré dni? Vezmite si prestávku a položte si svoje myšlienky do pripomienok.

Odporúča: