abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 16:22 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Humor

    FlappyFavi, hra Flappy Bird v ikoně Favicon. Nefunguje na mobilech.

    Ladislav Hagara | Komentářů: 0
    14.2. 13:44 | IT novinky Ladislav Hagara | Komentářů: 0
    14.2. 03:44 | Komunita

    Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).

    Ladislav Hagara | Komentářů: 25
    13.2. 19:22 | Komunita

    Vývojáři openSUSE Tumbleweed oznámili, že u nových instalací se ve výchozím stavu přechází z AppArmor na SELinux. Uživatelé, kteří chtějí zůstat na AppArmor si mohou AppArmor vybrat v instalátoru.

    Ladislav Hagara | Komentářů: 0
    13.2. 16:44 | Komunita

    Hector "marcan" Martin skončil jako vedoucí projektu Asahi Linux aneb Linux na Apple Siliconu. Projekt ale pokračuje dál.

    Ladislav Hagara | Komentářů: 54
    13.2. 16:33 | Nová verze

    PostgreSQL byl vydán ve verzích 17.3, 16.7, 15.11, 14.16 a 13.19. Řešena je zranitelnost CVE-2025-1094 s CVSS 8.1 a více než 70 chyb.

    Ladislav Hagara | Komentářů: 0
    13.2. 14:22 | Humor

    Dnes je Světový den rádia. Použili jste někdy GNU Radio?

    Ladislav Hagara | Komentářů: 11
    13.2. 12:33 | IT novinky

    Před 33 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.

    Ladislav Hagara | Komentářů: 2
    12.2. 19:44 | Nová verze

    Byla vydána nová verze 9.10 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Přístupová práva

    Linux je víceuživatelský systém a je proto nutné zajistit, aby mi ostatní nemohli měnit, číst moje dokumenty. Pokud jim to tedy výslovně nepovolím. Každý soubor (i adresář) v Linuxu má přidělená práva, která upravují práci se souborem.

    Příkaz ls vypisuje obsah zadaného adresáře. Přídáním parametru -l si zobrazíme podrobnější informace, včetně práv.

    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
    

    Práva jsou uvedená v prvním sloupci. První znak označuje typ souboru, pomlčka '-' označuje normální soubor, 'd' adresář, dále 'l' je symbolický odkaz, 'c' znakové zařízení, 'b' blokové zařízení a 'p' je pojmenovaná roura (pokud nevíte, co jednotlivé typy znamenají, přečtěte si předešlou kapitolu: Soubory v Linuxu, zvláště pak část Speciální soubory).

    Za typem je potom devět znaků, které symbolizují práva. Vždy jsou vypsány v pořadí právo pro čtení 'r', právo pro zápis 'w' a právo pro spuštění 'x'. Na úrovni adresářů 'r' značí, že je možné vypsat seznam souborů, 'w', že je možné do adresáře soubory přidávat nebo je z něj odebírat a 'x', že adresář smí být součástí cesty. První trojice je nastavení platné pro vlastníka souboru (třetí sloupeček - misak), druhá pro skupinu (čtvrtý - users) a poslední pro ostatní. Vlastník souboru je uživatel, který jej vytvořil (nebo bylo na něj vlastnictví převedeno příkazem chown) a obvykle má největší pravomoci. 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ří tam nepatří.

    Spustitelné soubory

    Linux bere soubor jako spustitelný jen tehdy, když má nastavená práva pro spuštění. Tento systém má své kouzlo v tom, že spustitelný soubor může být jakéhokoli typu (binární soubor, skript v shellu), ale z hlediska jeho spouštění je to úplně jedno. U skriptů je podmínka, aby měly na prvním řádku uvedený interpret, který je bude provádět (#!/bin/sh, nebo přenositelněji /usr/bin/env python) a binární soubor musí být podporován jádrem (nejpoužívanější je elf, starším formátem je a.out).

    Další práva

    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 mazat pouze vlastník souboru a nikdo jiný. Typickým představitelem je adresář /tmp. Tento adresář má nastavený sticky (lepkavý) bit, který se nastavuje 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
    

    Program spuštěný uživatelem má stejná práva, jako uživatel sám. To znamená, může modifikovat jen ty soubory k nimž má uživatel právo zápisu. Existuje několik případů, kdy je nutné, aby uživatelem spuštěný program běžel pod jiným účtem (zpravidla s vyššími právy). Typickým příkladem je příkaz passwd pro změnu hesla uživatele. Ten musí modifikovat soubor /etc/shadow, kde jsou uložené hashe hesel. Tento soubor není, z pochopitelných důvodů, zapisovatelný pro běžné uživatele. Program passwd má nastaven příznak suid a vlastní jej uživatel root. Program po svém spuštění má práva uživatele root, přestože jej spustil jiný uživatel. Příznak se nastaví příkazem chmod u+s, ls jej pak ukazuje následovně:

    ls -l /bin/passwd 
    -rws--x--x  1 root root 32108 čec 11 14:30 /bin/passwd
    

    Existuje také podobný příznak setgid, který mění skupinu. Není tolik používán u souborů, ale u adresářů, kdy po aplikaci tohoto příznaku patří všechny nově vytvořené soubory do určené skupiny a ne do uživatelově hlavní. Nastaví se příkazem chmod g+s a výpis vypadá následovně:

    drwxr-sr-x   3 root users     4096 zář  1 23:14 foo
    

    Číselné vyjádření

    Práva jsou na systémové úrovni reprezentována jako čtyři čísla v rozsahu od 0 až po 7 (tj. tři bity). Tyto číslice reprezentují speciální práva, uživatelská, skupinová a ostatních. Právo pro čtení má hodnotu 4, pro zápis 2 a pro spuštění 1. Jejich součtem potom získáme součtem těchto hodnot. Hodnota 7 (4+2+1) označuje všechna práva, hodnota 5 (4+1) značí právo pro čtení a spuštění. Hodnota 0 pak, celkem logicky, určuje žádná práva.

    Speciální práva jsou ohodnocena následovně. 4 je setuid, 2 je setgid a 1 je sticky bit.

    Kompletní nastavení adresáře /tmp se tedy dá provést:

    # zdlouhavější způsob
    chmod a+rwx /tmp        
    chmod +t /tmp
    
    # rychlejší způsob
    chmod 1777 /tmp         
    

    Změnu vlastníků lze pak provádět pod rootem následně:

    chown -cR uzivatel:skupina /tmp      # -cR mění práva rekurzivně i v podadresářích

    ACL

    Jemnější nastavení práv umožňuje ACL, viz příkazy getfacl a setfacl.

    Dokument vytvořil: vladka, 29.8.2005 11:55 | Poslední úprava: Nicky726, 4.3.2009 09:54 | Další přispěvatelé: Ash, Petr "Glubo" Sýkora | Historie změn | Zobrazeno: 62317×

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.