skoleni:sprava_uzivatelu_a_sluzeb

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
  • Poslední úprava: 2022/11/14 11:12
  • (upraveno mimo DokuWiki)