4Jul
Ak používate Linux nejaký čas( 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. Autorské práva
V ten deň 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 je uložené na diaľku.
( obrázok: terminál Zenith Z-19 "hlúpy", kredit: ajmexico)
Aby to fungovalo, musia mať jednotliví používatelia účty. Musia mať časť úložného priestoru, ktorá je im pridelená, 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.
Vo svete Linuxu sú povolenia rozdelené do troch kategórií: čítanie, zápis a spúšťanie. Prístup "Čítať" 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 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. Zložky
môžu byť obmedzené aj 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 myši na súbor a prejdite na "Vlastnosti".
Môžete zmeniť, či majiteľ, skupina alebo iní môžu čítať a písať,len na čítanie alebo na 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 riadka. 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:
-rwxrw-r-
r znamená "čítať", w znamená "write" a x znamená "execute". Adresáre budú začínať "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 [trieda] [operátor] [povolenie] súbor
chmod [ugoa] [+ alebo -] [rwx] súbor
Toto sa môže zdať komplikované, ale verte mi, je to celkom jednoduché.Po prvé, pozrime sa na triedy:
- u: Toto je pre vlastníka.
- g: Toto je pre skupinu.
- o: Toto je pre všetky ostatné.
- 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.
Poďme to dať dohromady. Povedzme, že máme súbor s názvom "todo.txt", ktorý má nasledujúce povolenia:
-rw-rw-r-
To znamená, že vlastník a skupina môžu čítať a písať a svet môže len čítať.Chceme zmeniť tieto povolenia:
-rwxr--
To znamená, že vlastník 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 oprávnenie na zápis pre skupinu.
chmod g-w todo.txt
Nakoniec odstránime oprávnenia na čítanie pre všetkých ostatných používateľov.
chmod o-r todo.txt
Tiež môžeme tieto 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 neexistujú žiadne medzery.
Tu sú niektoré užitočné oprávnenia:
- -rwxr-xr-x: Vlastník má plné oprávnenia, 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 len čítať súbor( užitočné, ak vám nevadí ostatné prezeranie súborov.)
- -rwx--: Vlastník má plné povolenia, všetky ostatné nemajú žiadnepre 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ť,(užitočné pre 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 urobiť schmod ako setuid a setgid - ale sú trochu hĺbkové a väčšina používateľov ich nebude musieť použiť.
Súbor root alebo super-user a system files
V súčasnosti nie vždy používame systémy, ktoréPrečo by sme sa mali stále zaujímať o povolenia?jeho deriváty - Linux, OS X, okrem iného - tiež rozlišujú medzi vecami, ktoré používa používateľ, veci spravované administrátormi alebo administrátorskými oprávneniami a veci, ktoré spravuje samotný systém. Takéto 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 môžete vykonať zmeny v systémových súboroch pomocou "sudo" alebo "gksudo", čím získate ekvivalent oprávnení administrátora. 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 týchto prípadoch môže zmena povolenia súboru viesť k tomu, že programy nefungujú, neúmyselne menia vlastníctvo súboru na užívateľa root( namiesto vlastníka) a robia systém bezpečnejším( udelením ďalších povolení).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ú povolené súbory na zabezpečenie základného systému bezpečnosti používateľov. 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 jednoduchšie vysvetliť veci? Máte opravu? Chcete spomenúť na staré dni? Vezmite si prestávku a položte si svoje myšlienky do pripomienok.