1 / 11

Přístupová práva, maska přístupových práv

Přístupová práva, maska přístupových práv. Jiří Hořejší. Každý soubor (i adresář) v Linuxu má přidělená práva, která upravují práci se souborem. Příkaz ls vypisuje obsah aktuálního adresáře. Přidáním parametru ls –l zobrazíme podrobnější informace. ls bsd.txt Desktop dnsping linux.txt

chiko
Download Presentation

Přístupová práva, maska přístupových práv

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Přístupová práva, maska přístupových práv Jiří Hořejší

  2. Každý soubor (i adresář) v Linuxu má přidělená práva, která upravují práci se souborem. Příkazls vypisuje obsah aktuálního adresáře. Přidáním parametru ls –l zobrazíme podrobnější informace. ls bsd.txt Desktop dnsping linux.txt ls –l celkem 16 -rw-r- -r- - 1 misak users 23 zář 1 23:06 bsd.txt drwxr-xr-x 2 misak users 4096 zář 1 23:08 Desktop -rwxr-xr-x 1 misak users 443 zář 1 23:08 dnsping -rw-r- -r- - 1 misak users 33 zář 1 23:05 linux.txt

  3. Práva jsou uvedena v prvním sloupci. První znak označuje typ souboru: • - -> normální soubor • d -> adresář • l -> symbolický odkaz • c ->znakové zařízení • b -> blokové zařízení • p -> pojmenovaná roura

  4. Za typem je pak 9 znaků, které symbolizují práva. Vždy jsou vypsány v tomto pořadí: • právo pro čtení „r“ (read) • právo pro zápis „w“ (write) • právo pro spuštění „x“ (execute) Na úrovni adresářů „x“ značí, že je možné vypsat seznam souborů. První trojice je nastavení pro vlastníka souboru (třetí sloupeček – misak), druhá pro skupinu (čtvrtý – users) a třetí pro ostatní.

  5. Vlastník souboru je uživatel, který jej vytvořil a obvykle má větší pravomoce. Skupina usnadňuje sdílení souborů mezi uživateli. Můžeme zvýšit práva lidem jen ze svojí skupiny a ne těm, kteří do ní nepatří. Kategorií ostatní určujeme, co s tímto objektem mohou provádět všichni. Linux bere soubor jako spustitelný jen tehdy, když má nastavené práva pro spuštění.

  6. Soubor, který je uložený v adresáři, do něhož mají všichni povolen zápis, může také kdokoliv smazat. Někdy se hodí, kdyby jej mohl smazat pouze vlastník souboru a nikdo jiný. Toto je problém zvlášť u adresářů typu /tmp. Pro tyto adresáře se zavádí tzv. sticky (lepkavý) bit. Nastavuje se příkazem chmod +t a ve výpisu příkazu ls je vidět takto: drwxrwxrwt 39 root root 3704 zář 6 21:15 tmp

  7. Ještě existují tzv. set bity. Pokud má soubor nastaven setuid (nebo setgid), pak při spuštění programu dostane dočasně program práva uživatele (nebo skupiny), jakou má vlastník souboru. Normálně by program pracoval pod právy uživatele, který jej spustil. Proto se tato technika používá u dočasného zvýšení práv. Soubor běží pod UID toho, kdo ho spustil.

  8. Chci, aby soubor běžel pod UID vlastníka souboru bez ohledu na to, kdo jej spustil: použiju Set User ID bit. rwsr-xr-x Totéž pro skupinu: použiju Set Group ID bit. rwxr-sr-x Setuid se nastavuje pomocí chmod u+s, setgid pak díky chmod u+g.

  9. Práva jsou na systémové úrovni reprezentována jako čtyři čísla (pozice) v rozsahu 0 až 7 (tj. 3bity). Tyto číslice reprezentují speciální práva, uživatelská, skupinová a ostatní (bráno od nejvyšší pozice). Právo pro čtení (r) má hodnotu 4, pro zápis (w) 2 a pro spuštění (x) 1. Jejich součtem pak získáme součet práv příslušných hodnot. Hodnota 7 (4+2+1) značí všechna práva, hodnota 5 (4+1) značí právo pro čtení a spuštění atd. Hodnota 0 pak určuje žádná práva. Speciální práva jsou ohodnocena následovně: 4 je setuid, 2 je setgid, 1 je sticky bit.

  10. Příklady symbolického zápisu přístupových práv: rwsr-sr-x (6775) rwxrwxrwt (1777) Kompletní nastavení např. adresáře /tmp se dá provést tedy takto: chmod 1777 /tmp

  11. Maska přístupových práv • jsou v ní definována práva nově zakládaných souborů • hodnota masky je součástí procesu (podobně jako uid a gid) a je dědičná • hodnotu masky lze vypsat a případně měnit příkazem umask • přístupová práva vzniknou množinovým rozdílem výchozí hodnoty a masky • výchozí hodnota je 666 pro soubory a 777 pro adresáře

More Related