diff --git a/atributy_souboru.md b/atributy_souboru.md
new file mode 100644
index 0000000000000000000000000000000000000000..02d53158dd8d1e6c7843893c9fc5ee78e22f336b
--- /dev/null
+++ b/atributy_souboru.md
@@ -0,0 +1,69 @@
+# Atributy souborů
+
+## Inode
+
+* Změna skupin uživatele se projeví až při novém přihlášení
+
+> Skupiny přístupné pod heslem
+> /etc/gshadow
+
+### Filesystem specific
+
+* např. ext4
+    * immutable
+    * append-only
+* existuje nějaký bitík na zálohování
+
+## ACL
+
+Jak vypadá pravidlo
+
+* Někumu přiřazuji nějakou množinu
+
+* Pro vlastníka souborů platí množina
+* Pro skupinu
+* Pro konkrétního uživatele
+* Pro konkrétní skupinu
+* Pro ostatní
+* Maska 
+* Defaulty
+
+Umožňuje nemonotónní konstrukce (mohu zakázat uživatele)
+
+### Maska
+
+Slouží k tomu, aby programy, které nevědí o ACL nedělaly nebezpečné věci.
+
+Dává horní odhad na práva, která by někdo mohl mít. (Vyjímka user a other z inodových)
+
+### Default
+
+Množina ACL pro adresář, která se přiřazuje dětem.
+
+> Umask
+>
+> Vlastnost procesu. Při zakládání inode shodí konkrétní práva.
+>
+> Motivace pro skupinu pro každého uživatele je ten, aby umaska nemusela brát práva pro skupinu.
+
+## Extended attributy
+
+Dá se tam uložit všechno možné (jsou tam např. ACL). Je to key:value. Má to podstromy -- system, user, trusted, security
+
+## Příkazy
+
+* setfacl
+* getfacl
+* getfattr
+* setfattr
+* chattr -- je to flagy typu immutable, atd.
+* stat
+
+## Man
+
+* acl
+* capabilities
+* inode
+* xattr
+
+See also manuálových stránek mi možná ukáže vhodné příkazy.
diff --git a/security_model.md b/security_model.md
new file mode 100644
index 0000000000000000000000000000000000000000..9afdf741d0eceb8659d54a190d9ba38489ceb380
--- /dev/null
+++ b/security_model.md
@@ -0,0 +1,58 @@
+# Security model
+
+Zatím ignorujeme security modules. Dodatečně lze definovat bezpečnostní pravidla (může pouze víc omezit).
+
+Existují uživatelé a skupiny. Inody mají vlastníka a vlastnící skupinu. Procesy mají vlastníka, primární skupinu a n sekundárních skupin.
+
+Dva typy kontroly práv:
+* Věci, které pouze vlastník (změnit práva inodu, signály)
+1) Pokud jsem vlastník, vstahují se na mě práva vlastníka
+2) Jinak pokud jsem v nějaké vlastnící skupině, vstahují se na mě práva skupiny
+3) Jinak ostatní
+
+Zajímavé věci nastávají, když práva nejsou monotónní. Nedoporučuje se to. Trochu to funguje, ale jsou v tom díry.
+
+Vlastnosti procesu jsou dědičné.
+
+## setuid bit
+
+Je bit, který přepíná, jestli se binárka spustí s právy vlastníka nebo volajícího.
+
+Nefunguje, když je to voláno přes shebang. Volající by mohl ve správnou chvíli přepsat soubor a tím exekutnout libovolný kód.
+
+## Různé druhy UID
+
+Login prostě sobě změní UID a GID. Su funguje stejně akorát s setuid.
+
+Jak ale po změně nevyužije otevřené file deskriptory do /etc/passwd?
+
+> Víc do detailu:
+>
+> Mám reálné a efektivní UID. Pokud měl nastavené setuid
+> * reálné - volající
+> * efektivní - vlastník
+>
+> Pomocí syscallu je mohu mezi sebou měnit.
+>
+> Saved UID - Posixové rozšíření
+>
+> * aby se snáze žonglovalo s UID
+> * nikdy se nepoužívá ale mám možnost mezi ním přepínat
+>
+> Filesystem UID (spíš obskurita)
+>
+> * zjemněné efektive UID, které se používá pouze pro filesystem operace
+>
+> Tohle je všechno popsané v `man 7 credentials`.
+
+Kvůli bezpečnosti se občas věci, které mají setuid chovají jinak.
+
+> Dumpable flag
+>
+> Ovlivňuje
+
+## Capabilities
+
+Rozdrobení práv roota
+
+man 7 capabilities