Přístupová práva

Každý soubor má jednoho vlastníka a patří jedné skupině. Uživatelé linuxu mohou patřit do jedné a více skupin.

Práva k souborům se mění pomocí programu chomod.

Práva nastavená na souborech a adresářich, jejich vlastník a skupina lze zobrazit pomocí příkazu
ls -ld.

$ ls -ld /home/*
drwx------  2 root root  16384 13. zář  2012 /home/lost+found
drwx--x--x 83 petr users  4096 27. čen 14.43 /home/petr

První znak označuje typ souboru (d = directory), pak jsou tři znaky pro právo vlastníka, tři znaky pro právo skupiny a tři znaky pro ostatní (pro všechny co napatří do skupiny a nejsou vlastníkem souboru) v pořadí rwx.

Význam práv

Práva se nastavují pro u (user), g (group) a o (others).

Každý uživatel (user) může patřit do jedné a více skupin (group). Pokud uživatel přistupuje k souboru, jehož není vlastníkem a soubor nepatří do žádných skupin uživatele, považuje se uživatel za „others“

Pokud má soubor nastavena práva pro vlastníka restriktivnější než pro „others“, pak se souborem budou moci ostatní pracovat, ale jeho vlastník ne. Obodbně to platí i pro skupinu.

Práva se nevztahují na superuživatele (uživatel root), pokud není root vlastníkem souboru (tj. root může přistupovat ke všem souborům, i když je nevlastní).

Superuživatel není dán svým jménem, ačkoliv je to standardně v Linuxu root, ale svým identifikačním číslem id, které je 0.

Program id

Program id vypíše aktuální identifikaci uživatele (jeho jméno, číslo, jméno a číslo skupiny do které patří).

Změní-li se dočasne userid (identifikace uživatele pomocí příkazu su viz. dále), pak příkaz who am i ukazuje stále původní identifikaci, zatímco id tu novou.

SYNOPSIS

id [login]

EXAMPES

$ id
uid=1000(petr) gid=100(users) skupiny=100(users),0(root),33(video),117(vboxusers)

Program su

Program su dočasně mění identifikaci uživatele. Pokud není zadáno jméno uživatele (login), su se pousí získat identitu superuživatele root.

SYNOPSIS

su [user] [-c "prikazy"]

OPTIONS

user
Login uživatele, jehož identitu chceme získat (pod jehož id chceme spouštět příkazy)
-c "prikazy"
Spustí příkazy s identitou zadaného uživatele (nebo roota). Příkazy včetně argumentů musí být v uvozovách

EXAMPLES

$ id -u
1000
$ su -c "id -u"
Heslo:
0

Program sudo

Program sudo umožňuje spouštět běžným uživatelům příkazy jako root, podobně jako su -c "prikaz". Na rozdíl od su umožňuje spouštět jen takové příkazy, které mu byli povoleny (v konfiguračím souboru, který může nastavit jen superuživatel /etc/sudoers).

Zatímco program su vyžaduje zadávání hesla uživatele, jehož identitu chcete získat (pokud nejste root, pak se vás na heslo neptá), program sudo se vás ptá na vaše vlastní heslo (někdy ale může být nastaven tak, že vás požádá o heslo superuživatele, stejně jako su).

Pomocí sudo může superuživatel dát superuživatelská práva jen na některé programy obyčejným uživatelům.

EXAMPLES

$ sudo id -u
root's password:
0

Práva pro obyčejné a speciální soubory

Právovýznam
r (read) čtení souboru
w (write) zápis do souboru
x (execute) provádění (spouštění) souboru
s (set user ID nebo set group ID). To zavisi na to, pro koho se s nastavuje. Je-li to user, je nastaven bit set user ID, je-li to skupina, nastavuje se bit set group ID.
t (set sticky bit) lze jej pouzit jen pro user.

Bity set user ID a set group ID maji vyznam pouze pri spousteni souboru. Pokud uzivatel spusti soubor, ktery ma nastaven set user ID bit, po dobu behu programu se systemu zda, ze progarm spustil vlastnik souboru. (napr. program passwd vlastni root a ma set user ID, takze bezi s pravy roota - umoznuje tak menit sobor /etc/passwd i beznemu uzivateli a zmenit si tak heslo)

V pripade set user group se systemu jevi spoustejici jako clene skupiny, do ktere patri soubor.

Sticky bit (sticky = uchovani) ma nasledujici vyznam: Ma-li tento bit hodnotu 1, spustitelny program zustava ulozen v odkladacim prostoru na disku (swap), takze zavedeni programu do pameti je rychlejsi. Platí pro starší verze linuxu.Dnes u souborů nemá význam.

Práva pro adresáře

Právovýznam
r (read)cteni obsahu adresare
w (write)vytvareni novych souboru v adresari
x (execute)prochazeni adresarem do nizsich urovni podstromu
s (set user ID nebo set group ID). To zavisi na to, pro koho se s nastavuje. Je-li to user, je nastaven bit set user ID, je-li to skupina, nastavuje se bit set group ID.
t (set sticky bit) lze jej pouzit jen pro user.

Set user ID nemá pro adresáře význam. Set group ID nastaví skupinu vytvořeného souboru v adresáři na stejnou skupinu jako má adresář (normálně se vytvoří se skupinou uživatele, který soubor vytváří).

Set sticky bit na adresáři zabrání neprivilegovaným uživatelům v odstranění nebo přejmenování v něm obsažených souborů, pokud tyto nejsou v jejich vlastnictví (nebo nejsou vlastníky onoho adresáře). Tomu se říká „restricted deletion flag“, a je to časté v adresářích zapisovatelných všemi, jako je /tmp.

Pro přístup k souborům v adresáři musíme mít právo execute na adresáři, ale nemusíme mít právo read! Read znamená, že si můžeme obsah adresáře prohlédnout a execute znamená, že s ním můžeme pracovat. Právo write znamená, že můžeme v adresáři vytvářet a mazat soubory.

Je zajimave, ze pokud chceme z adresare neco smazat, je dulezite, aby tento adresar mel pravo pro zapis, ale soubory, ktere v nem mazeme, jiz toto pravo miti nemusi! Obdobne to plati pro zapis do takoveho souboru, ovsem pak se zmeni jeho vlastnik atd.

Program chmod

Nastavovaná práva na souborech jsou dělena do 3 kategorií:

KategorieVýznam
u (user) vlastnik souboru
g (group) pracovni skupina, do ktere vlastnik souboru patri
o (others) ostatni (tj. clenove ostatnich pracovnich skupin)
a (all) vsechy kategorie zaroven

SYNOPSIS

chmod {kategorie  operator pravo, ...}  [-R]  {soubor|adresar} [soubory ...]

OPTIONS

-R
Práva nastavuje rekurzivně na adresář a všechny soubory v adresáři i podadresářích.
kategorie
  u vlastnik
  g skupina
  o ostatni 
  a vsichni
Operátor
  = nove nastaveni
  + pridani prava
  - odejmuti prava
právo
r w x s t

EXAMPLES

chmod go+x soubor(y)
přidá skupině a ostatním právo execute
chmod g=w,u-x -R adresar
nastavi prava zapisu pro skupinu a odejme vsechna ostatni prava pro skupinu, odebere vlastníkovy právo execute. Provede se na adresáři a všech souborech a adresářích v něm.
(g=w je ekvivalentni s g-rx,g+w)

Číselný zápis práv

Jinym zpusobem zadavani prav je zadani pristupovych prav pomoci masky bitovych priznaku. Program chmod ma v tomte pripade syntax:

chmod [+-]nnn soubor(y)

Kde n je cislo nabyvajicich hodnot 0 az 7, ktere predstavuje bitovy priznak ochrany souboru:

vlastnik        skupina         ostatni         | 4000 - set user ID
r w x           r w x           r w x           | 2000 - set group ID
| | |           | | |           | | |           | 1000 - sticky bit
| | 100         | | 10          | | 1           |
| 200           | 20            | 2             |
400             40              4               |

EXAMPLES

chmod 640 soubor
Vlastník = 600 = 400+200 = rw,
Skupina = 40 = 40 = r
Ostatní = 0 = 0 = žádná práva.
chmod 750 adresar
Vlastník = 700 = 400 + 200 + 100 = rwx,
Skupina = 50 = 40 + 10 = rx,
Ostatní = 0 = žádná práva
chmod +4100 soubor
Přidá set user ID na soubor a právo spouštění pro vlastníka.

Program umask

Program umask meni implicitni pristupova prava, ktera ma kazdy soubor po vytvoreni. Cislo nnn rika, jaka prava se budou odebirat. Program umask má vliv pouze na nově vytvořené soubory (jejichž práva lze samozřejmě přenastavit programem chmod).

Presneji receno, pri vytvoreni adresare se udeli pravo 777 - nnn, pri vytvoreni souboru se udeli pravo 666 - nnn.

SYNOPSIS

umask [nnn]

EXAMPLES

umask
zadanim bez parametru zobrazi nynejsi hodnotu (napr. 022)
umask 022
Nastaví umask na 022, tj. soubor se vytvoří defaultně s právy 666-022 = 644, adrsáře s právy 755.
Přidáním příkazu umask do souboru ~/.profile se zajistí nastavení při každém přihlášení.

Změna vlastníka a skupiny souboru

Program chgrp

Program chgrp slouží ke změně skupiny (group).

SYNOPSIS

chgrp skupina [-R] {soubor|adresar}

OPTIONS

skupina
Jméno skupiny nebo její číselné ID.
-R
Nastaví skupinu rekurzivně na adresář a všechny soubory v něm.

Program chown

Program chown slouží ke změně vlastníka (owner).

SYNOPSIS

chown vlastnik [-R] {soubor|adresar}

OPTIONS

vlastnik
Jméno vlastnika nebo jeho číselné ID.
-R
Nastaví vlastníka rekurzivně na adresář a všechny soubory v něm.

Program chattr

Program chattr umožňuje nastavovat různé příznaky k souborům. Některé z nich se týkají i přístupových práv. Funguje jen na filesystemec ext[2-4]. Program lsattr vypíše atributy souboru.

SYNOPSIS

chattr [-R] +-i soubor(y)
lsattr soubor(y)

OPTIONS

-R
Nastavuje příznaky rekurzivně.
i
Nastaví (+) nebo odebere (-) příznak i. Soubor s tímto příznakem nemůže být změněn, přesunut, ani smazán.
Komentář Hlášení chyby
Created: 11.9.2005
Last updated: 13.7.2013
Tato stánka používá ke svému běhu cookies, díky kterým je možné monitorovat, co tu provádíte (ne že bych to bez cookies nezvládl). Také vás tu bude špehovat google analytics. Jestli si myslíte, že je to problém, vypněte si cookies ve vašem prohlížeči, nebo odejděte a už se nevracejte :-). Prohlížením tohoto webu souhlasíte s používáním cookies. Dozvědět se více..