Nastavování oprávnění

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(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>
  
=== Úkoly ===
+
<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

Význam jednotlivých oprávnění

Pro soubory
Pro složky
Poznámka: představte si složku jako soubor, obsahující seznam názvů souborů a odkazů na jejich datové bloky
Úkoly
  1. 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ů
Ú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)

Kompletní sada oprávnění naráz

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říklad:

chmod u+r data.txt

Změna vlastníka a skupiny

Při vytvoření souboru
chown
sudo chown xmarek data.txt
chgrp
chgrp ucetni data.txt

Opakování

Zdroje

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje