2. Správa systému Linux

Co se po vás bude chtít?

Uživatelé a oprávnění

Oprávnění (permissions)

  • Vyhledání nastavených oprávnění:

    • Zobrazení práv souborů a adresářů
    • Čtení detailního výstupu - význam jednotlivých sloupců
    • Rozpoznání typu souboru
  • Zápis oprávnění v Linuxu:

    • Symbolický zápis (písemný):
      • Třípísmenné skupiny pro čtení, zápis a spuštění
      • Tři skupiny oprávnění: vlastník, skupina, ostatní
    • Číselný zápis (oktálový):
      • Trojciferné číslo reprezentující oprávnění
      • Každá cifra je součet hodnot jednotlivých práv
      • Sčítání: čtení (4), zápis (2), spuštění (1)
    • Převod mezi zápisy - schopnost převádět mezi symbolickým a číselným zápisem
  • Změna oprávnění:

    • Příkaz pro změnu práv
    • Číselný způsob zadání oprávnění
    • Symbolický způsob (přidání/odebrání/nastavení práv pro jednotlivé skupiny)
    • Rekurzivní změna pro celé adresářové struktury
  • Speciální oprávnění:

    • SUID (Set User ID) - spuštění s právy vlastníka
    • SGID (Set Group ID) - spuštění s právy skupiny
    • Sticky bit - ochrana proti mazání

Uživatelé (users)

  • Vytvoření uživatele:

    • Příkazy pro vytvoření nového uživatelského účtu
    • Parametry pro nastavení domovského adresáře, shellu a skupin
    • Nastavení hesla
  • Editace uživatele:

    • Modifikace existujícího uživatelského účtu
    • Změna základních atributů (jméno, domovský adresář, shell)
    • Zamčení a odemčení uživatelského účtu
  • Odebrání uživatele:

    • Smazání uživatelského účtu
    • Volba, zda zachovat nebo odstranit domovský adresář a data
  • Změna vlastníka souboru:

    • Příkaz pro změnu vlastníka souboru nebo adresáře
    • Změna pouze vlastníka nebo vlastníka i skupiny současně
    • Rekurzivní změna pro celou adresářovou strukturu
  • Informace o uživatelích:

    • Systémové soubory s databází uživatelů a hesel
    • Zjištění aktuálně přihlášeného uživatele
    • Zobrazení identifikátorů a skupinové příslušnosti

Skupiny (groups)

  • Vytvoření skupiny:

    • Příkaz pro vytvoření nové skupiny
  • Přidání uživatele do skupiny:

    • Přidání uživatele do existující skupiny
    • Rozdíl mezi primární a sekundární skupinou
  • Odebrání uživatele ze skupiny:

    • Odebrání člena ze skupiny
    • Nastavení konkrétních skupin pro uživatele
  • Výpis uživatelů ve skupině:

    • Zobrazení členů konkrétní skupiny
    • Zjištění skupinové příslušnosti uživatele
    • Systémový soubor s databází skupin
  • Změna skupiny u souboru:

    • Příkaz pro změnu skupinového vlastnictví
    • Rekurzivní změna pro adresáře
  • Práce se skupinami:

    • Dočasné přepnutí primární skupiny
    • Význam primární skupiny pro nově vytvořené soubory

Instalace softwaru

Správce balíčků (package manager)

  • Teorie - co to je správce balíčků:

    • Systém pro správu instalace softwaru
    • Automatické řešení závislostí
    • Centralizovaná správa balíčků
    • Rozdíl mezi distribucemi (apt, dnf, pacman, zypper)
  • Instalace balíčků:

    • Příkazy pro instalaci v různých distribucích
    • Nutnost administrátorských práv
  • Smazání balíčků:

    • Odstranění software
    • Rozdíl mezi odstraněním se zachováním/smazáním konfigurace
    • Odstranění včetně nepotřebných závislostí
  • Upgrade (aktualizace):

    • Aktualizace seznamu dostupných balíčků
    • Upgrade nainstalovaných balíčků
    • Upgrade celého systému vs jednotlivých balíčků
  • Repozitáře distribucí:

    • Co to je repozitář (repository)
    • Typy repozitářů (oficiální, komunitní, třetích stran)
    • Přidání nového repozitáře
    • Konfigurační soubory pro repozitáře
    • Důvěryhodnost a bezpečnost repozitářů
  • Další operace:

    • Vyhledávání balíčků podle názvu nebo popisu
    • Zobrazení informací o balíčku
    • Správa cache a čištění systému

Sestavení software ze zdrojového kódu (kompilace)

  • Teorie a principy:

    • Co je zdrojový kód vs binární balíček
    • Proces kompilace (preprocessor, compiler, linker)
    • Build systémy a jejich role
    • Typický workflow sestavení ze zdroje
  • Kdy využít kompilaci ze zdroje:

    • Balíček není dostupný v repozitáři
    • Potřeba nejnovější verze softwaru
    • Specifické optimalizace nebo konfigurace
    • Vývoj a úpravy softwaru
    • Důvěra k vlastnímu sestavení
  • Základní kroky:

    • Instalace build nástrojů
    • Stažení zdrojového kódu
    • Instalace vývojářských závislostí
    • Konfigurace sestavení
    • Kompilace
    • Instalace do systému
  • Výhody a nevýhody:

    • Výhody: kontrola, optimalizace, aktuálnost
    • Nevýhody: časová náročnost, manuální správa, absence automatických aktualizací

PATH - cesty se spustitelnými soubory

  • Co je PATH:

    • Proměnná prostředí obsahující cesty k adresářům se spustitelnými soubory
    • Shell prohledává tyto adresáře při spuštění příkazu
    • Zobrazení aktuální hodnoty PATH
  • Typické adresáře v PATH:

    • Systémové adresáře s binárkami
    • Adresáře pro lokálně nainstalovaný software
    • Systémové administrační nástroje
    • Uživatelské adresáře pro spustitelné soubory
  • Přidání adresáře do PATH:

    • Dočasná změna (platná jen pro aktuální session)
    • Trvalá změna (úprava konfiguračních souborů)
    • Pořadí důležitosti adresářů v PATH
  • Spuštění programu mimo PATH:

    • Použití absolutní cesty
    • Použití relativní cesty
    • Zjištění umístění programu v PATH

Odkazy na zdroje informací

Uživatelé a oprávnění

Instalace softwaru

  • wiki.ubuntu.cz - Dokumentace Ubuntu o instalaci balíčků
  • abclinuxu.cz - Instalace software podle ABC Linuxu
  • abclinuxu.cz - Seriál “Nebojíme se kompilace” od teorie po praxi sestavení ze zdroje

Správa uživatelů

Připrav se na HAXAGONu

Linux - základy:

  • Oprávnění
  • Uživatelé - základy

Linux - pokročilý:

  • Uživatelé - úpravy
  • Uživatelé - skupiny
  • Procesy - základy
  • Procesy - správci procesů
  • Instalace softwaru
  • Archivace a komprese
  • Bash scripting - intro

Obecná informatika:

  • Windows (správa uživatelů a oprávnění)