Toto je starší verze dokumentu!
Nástřel
* Uživatelé
- Má nějaký název (např. teď jste přihlášeni za uživatele „skoleni“)
- Může mít i delší jméno nebo popis (gecos)
- Má domovský adresář
- Uživatelů ja na každém systému několik
* Skupiny
- Skupina má název
- Každý uživatel je součástí alespoň jedné skupiny
- Může být (a zpravidla bývá) součástí skupin více
* Identifikátory
- Uživatelé mají UID
- Skupny mají GID
- Uživatelé jsou tudíž asociováni se seznamem GID
- Názvy jsou pro jednodušší použití a identifikaci (syntactic sugar), ale hlavní je ID
* Jak je to uložené v systému
- Vypsat /etc/passwd a /etc/group
- Jsou tam vsechny veci o kterych jsme se bavili (uid, gid, home, atd.)
- Všimli jste si něčeho zajímavého?
* Zajímavosti s vysvétlením (strucnym)
- root - administrátor
- nejen názvem, ale má speciální práva
- UID 0
- Uzivatel „skoleni“ ma UID 1000
- Spousta uzivatelu s UID <1000 (systemovi)
* Příkazy
- Soubory které jsme si vypsali, tak se zásadné needitují ručně (stačí malá chyba a už se nepřihlásíte)
- id, id <username>, id <uid> (v prikladech zkusit roota)
- useradd (nefunguje, vypise to chybu)
- prepnout na roota (rozdil mezi `su` a `su -`)
- useradd
- passwd (nastavit mu nejake heslo)
- otevrit novou zalozku v teminalu a tam se prepnout (su -) na noveho uzivatele
- id
- passwd za uzivatele
- zpet v prvni zalozce (za roota)
- groupadd
- usermod (pridat grupu uzivateli, bacha na rozdil mezi `-G` a `-a -G`)
- v druhe zalozce (za noveho uzivatele)
- id (neni v nove grupe, vysvetlit, ze se to aplikuje az po prihlaseni)
- Jak zrušit uzivatele
- userdel - používat opatrně, nesmaže všechno co uživatel vlastnil
- raději e.g. `chage -E 0` - expirovat ho, pockat nejakou dobu a pak ho smazat pomocit userdel (s parametry pro smazani domovskeho adresare) a pomoci `find` najit vse co vlastnil a smazat (aspon zminit, ze je to dulezite pro konzistenci systemu)
- Pravidla pro uzivatele (politiky)
- Soubor /etc/login.defs
- Minimalni/maximalni cas platnosti hesla, atd.
- Lze pro konkretniho uzivatele menit pomoci chage
* Práva
- Znovu si vypíšeme soubory /etc/{passwd,group}
- Nikde není uložené heslo
- Vypíšeme /etc/shadow
- Abysme vytvořili uživatele, tak jsme se museli přepnout na roota, on je totiž vlastníkem těch souborů
- ls -l /etc/{passwd,group,shadow}
- „root root“ je vlastník uživatel a vlastník skupina
- co je ten řetězec na začátku řádku (např. rw-r–r–)
- vysvetlit zakladni prava (rwx), zatim vynechat rozdily mezi soubory a adresari
- tady bude v prezentaci kratky kahoot, ktery navede na to, ze si muzeme zmenit heslo, ale pritom nemame pravo zapisovat do toho souboru kde je ulozene
- vysvetlit setuid, setgid, sticky bit
- vysvetlit rozdily mezi adresari a soubory (tohle bude muset byt nejspis spojene s predchozim bodem, samostatne to asi nebude davat smysl)
- Priklady prav na adresarich
- /tmp (sticky bit na adresari)
- /home (chybi r i x pro others)
- mozna rict, ze kdyz uzivatel A rekne uzivateli B aby si od nej precetl neco z /home/A/soubor.txt, tak pak na /home/A staci aby B mel x a na ten soubor.txt staci aby mel r
- ACL
- existuji nejake ACL
- {get,set}facl
- priklady:
- povoleni vice ruznych skupin
- povoleni ruznych lidi co nejsou v nejake skupine
- dynamicnost (muzu pridelavat/oddelavat uzivatele co maji nekam pristup aniz bych jim musel vytvaret skupiny, pridelavat je tam, oddelavat a vsechny uzivatele odhlasovat/prihlasovat
- konkretni priklady:
- neco kde consolekit pridava prava lokalne prihlasenemu uzivateli (napada me jen /dev/video* zatim)
Puvodni osnova (tipy)
- uživatelé v Linuxu (root, systémoví uživatelé, normální uživatelé)
- účet superuživatele (root) - jeho vlastnosti, práva a povinnosti
- skupina wheel
- /etc/sudoers
- soubory /etc/passwd, /etc/shadow a /etc/login.defs
- UID, GID, EUID, EGID, SETUID (prijit na to pres to jak passwd funguje)
- vytváření uživatelů (CLI)
- mazání uživatelů (CLI)
- nastavování vlastností uživatelům
- expirace hesel
- expirace účtů (chage/usermod)
- domovský adresář, důsledky absence domovského adresáře
- přihlašovací shell, /sbin/nologin
- co si mohou nastavit sami uživatelé, co může jen root
- alternativní způsoby správy uživatelů (GUI, Cockpit, …)
- Skupiny
- funkce a vlastnosti
- vytváření a mazání
- Unixová práva v systému
- co jsou to práva a proč jsou důležitá?
- co to je vlastnictví?
- práva vlastníka, skupiny a ostatních
- čtení, zápis, spouštění
- setuid bit, sticky bit
- Nastavování práv
- nastavení vlastnictví (chown)
- nastavení práv („chmod 755“ i „chmod u+rwx“)
- nastavení setuid („chmod 4755“ i „chmod u+s“)
- nastavení setgid („chmod 2755“ i „chmod g+s“, bacha na rozdil „0755“ a „00755“)
- sticky bit („chmod 1777 dir“ a „chmod +t dir“ )
- Tabulečku na efekty
- Práva na
/tmp
a proč tak fungují
- Rozšířená práva (ACL)
- Jak fungují rozšířená práva? Jak se doplňují se standardními právy?
- Zobrazení ACL práv (getfacl)
- Nastavení ACL práv (setfacl)
- Zmínit pristup víc skupin
Správa služeb a procesů
- proces
- co to je
- jak se identifikuji (PID)
- dedicnost (PPID, fork/exec)
- posilani signalu
- top
- /proc/PID
- init proces
- co je a na co to je
- Typy, historie (velice strucne)
- systemd
- sluzby
- co je to
- rozdily oproti jinym procesum (pidfile, reakce na signaly - reload, reexec)
- jak se to ovlada (systemctl)
- start/stop
- enable/disable (–now)
- list-units
- default
- isolate
- journalctl
- strucny priklad vytvorenia unit-file