Nastavování oprávnění
Z MiS
(Rozdíly mezi verzemi)
(→Nastavení práv: Úprava vzhledu, dodány příklady.) |
(Oprava vzhledu, kdo co může provádět?) |
||
Řádka 31: | Řádka 31: | ||
=== Oprávnění nastavujeme === | === Oprávnění nastavujeme === | ||
− | * u... vlastníkovi souboru (neříkejte „uživateli“, nebylo by zřejmé, kterému) | + | * <tt>u</tt>... vlastníkovi souboru (neříkejte „uživateli“, nebylo by zřejmé, kterému) |
− | * g... skupině, která soubor vlastní | + | * <tt>g</tt>... skupině, která soubor vlastní |
− | * o... všem ostatním uživatelům | + | * <tt>o</tt>... všem ostatním uživatelům |
=== Význam jednotlivých oprávnění === | === Význam jednotlivých oprávnění === | ||
; Pro soubory: | ; Pro soubory: | ||
− | * r... zobrazit obsah souboru | + | * <tt>r</tt>... zobrazit obsah souboru |
− | * w... upravit obsah souboru | + | * <tt>w</tt>... upravit obsah souboru |
− | * x... spustit soubor | + | * <tt>x</tt>... spustit soubor |
; Pro složky: | ; Pro složky: | ||
− | * r... zobrazit soubory ve složce | + | * <tt>r</tt>... zobrazit soubory ve složce |
− | * w... umožní přidávat, mazat, přejmenovávat soubory a složky | + | * <tt>w</tt>... umožní přidávat, mazat, přejmenovávat soubory a složky |
− | * x... umožní přístup k souborům ve složce (v závislosti na oprávnění k danému souboru) | + | * <tt>x</tt>... umožní přístup k souborům ve složce (v závislosti na oprávnění k danému souboru) |
<div class="Poznamka">Poznámka: představte si složku jako soubor, obsahující seznam názvů souborů a odkazů na jejich datové bloky</div> | <div class="Poznamka">Poznámka: představte si složku jako soubor, obsahující seznam názvů souborů a odkazů na jejich datové bloky</div> | ||
− | = | + | <div class="Priklad"> |
+ | ; Úkoly: | ||
# Jaká práva potřebujete mít pro provedení příkazů: | # Jaká práva potřebujete mít pro provedení příkazů: | ||
#* <code>ls directory</code> | #* <code>ls directory</code> | ||
Řádka 55: | Řádka 56: | ||
#* <code>cat directory/file.txt</code> | #* <code>cat directory/file.txt</code> | ||
#* <code>rm directory/file.txt</code> | #* <code>rm directory/file.txt</code> | ||
+ | </div> | ||
== Zjištění nastavení práv == | == Zjištění nastavení práv == | ||
Řádka 78: | Řádka 80: | ||
* název souboru | * název souboru | ||
+ | <div class="Priklad"> | ||
; Úkol | ; Úkol | ||
* Může uživatel Franta zapisovat do souboru <tt>soubor.txt</tt>? | * Může uživatel Franta zapisovat do souboru <tt>soubor.txt</tt>? | ||
* Co má Franta dělat, aby do souboru mohl zapsat? | * Co má Franta dělat, aby do souboru mohl zapsat? | ||
+ | </div> | ||
== Změna oprávnění (<code>chmod</code>) == | == Změna oprávnění (<code>chmod</code>) == | ||
Řádka 110: | Řádka 114: | ||
; <code>chown</code> | ; <code>chown</code> | ||
* změna vlastníka | * změna vlastníka | ||
− | * obvykle může provádět pouze administrátor (''root'')(lze změnit) | + | * obvykle může provádět pouze administrátor (''root'')(toto chování lze změnit) |
sudo chown xmarek data.txt | sudo chown xmarek data.txt | ||
; <code>chgrp</code> | ; <code>chgrp</code> | ||
* změna vlastnické skupiny | * změna vlastnické skupiny | ||
− | * může provádět vlastník a administrátor (''root'') | + | * obvykle může provádět vlastník a administrátor (''root''), vlastník může přiřazovat soubor jen skupině, do které patří. |
chgrp ucetni data.txt | chgrp ucetni data.txt | ||
== Opakování == | == Opakování == | ||
− | * Zjistěte vlastníka souboru /etc/passwd. | + | * Zjistěte vlastníka souboru <tt>/etc/passwd</tt>. |
* Říká se, že administrátor počítače může v klasických desktopových distribucích všechno. Není to v rozporu s výše uvedeným nastavením práv??? | * Říká se, že administrátor počítače může v klasických desktopových distribucích všechno. Není to v rozporu s výše uvedeným nastavením práv??? | ||
* Jak zjistíte, zda uživatel může soubor smazat? | * Jak zjistíte, zda uživatel může soubor smazat? |
Verze z 26. 3. 2014, 12:49
Obsah |
Práva pro přístup k souborům a složkám
V tomto článku se zabýváme klasickým systémem nastavení oprávění tak, jak fungoval v Unixu a jak funguje dodnes v mnoha distribucích GNU/Linuxu. Existují ale samozřejmě rozšíření jako SELinux, AppArmor a další.
Oprávnění k souboru si můžeme představit jako tabulku s devíti jednobitovými hodnotami (má právo/nemá právo):
r(ead) | w(rite) | x(eXecute) | |
---|---|---|---|
u(ser) | ? | ? | ? |
g(roup) | ? | ? | ? |
o(thers) | ? | ? | ? |
Oprávnění nastavujeme
- u... vlastníkovi souboru (neříkejte „uživateli“, nebylo by zřejmé, kterému)
- g... skupině, která soubor vlastní
- o... všem ostatním uživatelům
Význam jednotlivých oprávnění
- Pro soubory
- r... zobrazit obsah souboru
- w... upravit obsah souboru
- x... spustit soubor
- Pro složky
- r... zobrazit soubory ve složce
- w... umožní přidávat, mazat, přejmenovávat soubory a složky
- x... umožní přístup k souborům ve složce (v závislosti na oprávnění k danému souboru)
Poznámka: představte si složku jako soubor, obsahující seznam názvů souborů a odkazů na jejich datové bloky
- Úkoly
- Jaká práva potřebujete mít pro provedení příkazů:
-
ls directory
-
mv directory/file.txt file.txt
-
mv directory/file.txt directory/file-backup.txt
-
cp directory/file.txt file.txt
-
cat directory/file.txt
-
rm directory/file.txt
-
Zjištění nastavení práv
- Příkazem
ls -l
Příklad výstupu:
-rwxr--r-- 1 student skupina 1627 8. lis 10.52 soubor.txt
- Význam znaků
- první znak: typ souboru
- - ... běžný soubor
- d ... adresář (složka)
- práva k souboru
- nejprve pro vlastníka, pak skupiny, pak pro ostatní
- vždy v pořadí rwx
- pokud je oprávnění nastaveno, je tam odpovídající písmeno
- pokud oprávnění není nastaveno, pak je uvedena pomlčka
- počet pevných linků (viz typy souborů)
- username vlastníka
- groupname skupiny, která soubor vlastní
- velikost souboru
- datum poslední změny
- název souboru
- Úkol
- Může uživatel Franta zapisovat do souboru soubor.txt?
- Co má Franta dělat, aby do souboru mohl zapsat?
Změna oprávnění (chmod
)
- Dva režimy: změna všech práv naráz, nebo změna jednoho oprávnění.
- Kompletní sada oprávnění naráz
- Zapíšeme oprávnění jako posloupnost jedniček (má právo) a nul (nemá právé) v pořadí: u(rwx) g(rwx) o(rwx).
- Trojice přečteme jako dvojkový zápis desítkových čísel.
Představme si, že chceme zapsat, že vlastník má všechna práva, skupina nemůže zapisovat a ostatní mohou jen číst:
u g o rwx rwx rwx 111 101 100 7 5 4
Použití:
chmod 754 data.txt
- Nastavení jednotlivých oprávnění
- Píšeme:
chmod komu+/-co soubor
-
komu
...u
,g
,o
, ev.a
jako all pro všechny typy. -
+
... nastavit právo nebo-
... odebrat právo, -
co
...r
,w
,x
.
-
Příklad:
chmod u+r data.txt
Změna vlastníka a skupiny
- Při vytvoření souboru
- Vlastníkem souboru se při vytvoření souboru stane ten, kdo soubor vytvoří.
- Nový soubor vlastní skupina, která je primární skupinou vlastníka.
-
chown
- změna vlastníka
- obvykle může provádět pouze administrátor (root)(toto chování lze změnit)
sudo chown xmarek data.txt
-
chgrp
- změna vlastnické skupiny
- obvykle může provádět vlastník a administrátor (root), vlastník může přiřazovat soubor jen skupině, do které patří.
chgrp ucetni data.txt
Opakování
- Zjistěte vlastníka souboru /etc/passwd.
- Říká se, že administrátor počítače může v klasických desktopových distribucích všechno. Není to v rozporu s výše uvedeným nastavením práv???
- Jak zjistíte, zda uživatel může soubor smazat?