Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
P
Povídání o Linuxu
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Martin Mareš
Povídání o Linuxu
Commits
21e05612
Commit
21e05612
authored
2 years ago
by
Martin Zimen
Browse files
Options
Downloads
Patches
Plain Diff
Poznamky o atributech
parent
5e016337
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
atributy_souboru.md
+69
-0
69 additions, 0 deletions
atributy_souboru.md
security_model.md
+58
-0
58 additions, 0 deletions
security_model.md
with
127 additions
and
0 deletions
atributy_souboru.md
0 → 100644
+
69
−
0
View file @
21e05612
# 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.
This diff is collapsed.
Click to expand it.
security_model.md
0 → 100644
+
58
−
0
View file @
21e05612
# 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
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment