Proč je správa uživatelů a oprávnění v Linuxu klíčová
Správa uživatelů a oprávnění v Linuxu definuje, kdo může co dělat, kde a jak. Zahrnuje identitu uživatelů a skupin, řízení přístupu k souborům a procesům, audit, delegování práv a rozšířené bezpečnostní mechanismy. Správně navržený model minimalizuje dopady incidentů, snižuje riziko laterálního pohybu a zvyšuje provozní jistotu.
Identita v Linuxu: uživatelé a skupiny
- UID/GID: jedinečné číselné identifikátory určují vlastnictví objektů a oprávnění. Root (UID 0) má neomezené možnosti.
- Primární a doplňkové skupiny: každý uživatel má jednu primární skupinu (GID) a libovolný počet doplňkových skupin pro detailnější řízení přístupu.
- Typy účtů: interaktivní (lidské), systémové a servisní (neinteraktivní), dočasné a strojové identity.
Databáze účtů: passwd, shadow, group
/etc/passwd: mapuje uživatelská jména na UID a základní atributy (domovský adresář, shell). Hesla jsou zde nahrazena znakemx./etc/shadow: obsahuje kryptografické otisky hesel a parametry expirace (přístup pouze pro root)./etc/group: definice skupin, členství, GID a doplňující metadata.
Životní cyklus uživatele: vytvoření, změna, zrušení
- Vytvoření: nástroje jako
useradd(nízkoúrovňový) neboadduser(interaktivní). Založení domovského adresáře, inicializace skeletonu (/etc/skel), nastavení shellu a skupin. - Změna:
usermodpro přejmenování, změnu UID, přidání do skupin, uzamčení účtu;passwdachagepro správu hesel a expirace. - Zrušení:
userdels volbou mazání domovského adresáře a pošty; zachování UID/GID mapy kvůli vlastnictví souborů.
Skupiny a jejich správa
- Vytvoření a úprava:
groupadd,groupmod,groupdel. - Členství:
gpasswd,usermod -aGpro přidání do doplňkových skupin; kontrola příkazemid. - Role-based přístup: mapování pracovních rolí na skupiny (např. dev, ops, dba, backup) a následné přiřazení uživatelů.
Přihlašování a autentizace: PAM a NSS
- PAM (Pluggable Authentication Modules): modulární řetězec autentizace, autorizace a účetních kontrol; pořadí modulů a kontrolní příznaky (required, sufficient, requisite, optional).
- NSS (Name Service Switch): zdroje identity (soubory, LDAP, SSSD) a pořadí dotazování (
/etc/nsswitch.conf). - Politiky hesel: délka, složitost, historie, expirace; uzamčení po neúspěšných pokusech (pam_tally2, pam_faillock), vícefaktorová autentizace (TOTP/U2F/WebAuthn).
Delegování práv: su, sudo a polkit
- su: přepnutí identity, typicky na root; vyžaduje heslo cílového účtu.
- sudo: granularita na úrovni příkazů a aliasů; audit, timestamp a podmínky (host, skupina, běh bez shellu). Konfigurace v souborech
/etc/sudoersasudoers.d. - polkit: jemné řízení oprávnění pro DBus služby a desktopové akce; pravidla založená na identitě a kontextu.
Model oprávnění POSIX: vlastník, skupina, ostatní
- Bitová maska rwx: práva čtení, zápisu a spuštění pro trojici user/group/other.
- Umask: výchozí maska omezuje oprávnění nově vytvořených souborů a procesů; rozdílná pro systémové služby a interaktivní shelly.
- Speciální bity: setuid (spuštění s UID vlastníka), setgid (spuštění s GID), sticky bit (ochrana proti mazání ve sdílených adresářích, např.
/tmp).
Rozšířená ACL (Access Control Lists)
- POSIX ACL: detailnější kontrola přístupu přesahující vlastnictví jedné skupiny; položky pro více uživatelů a skupin; dědičné default ACL v adresářích.
- Nástroje:
getfaclasetfaclpro čtení a nastavování ACL; pozor na interakce s klasickými bity a umask. - Případy použití: sdílené projektové adresáře napříč týmy, dočasná eskalace přístupu bez změny skupiny.
Vlastnictví, kvóty a atributy souborů
- Vlastnictví: příkazy
chownachgrp; mapování UID/GID při migracích a v kontejnerech. - Kvóty: diskové limity soft/hard pro uživatele a skupiny; nástroje
edquota,quota,repquota. - Neměnné atributy: příkazy
chattr +ialsattrpro ochranu kritických souborů před změnou či odstraněním.
Linux capabilities: jemné rozdělení moci root
Model capability rozkládá privilegia root na dílčí schopnosti (např. CAP_NET_BIND_SERVICE, CAP_SYS_ADMIN). Umožňuje spouštět procesy s minimem nutných práv a snižuje dopad kompromitace. Správa probíhá nástroji setcap/getcap a přes ambient capabilities v systemd.
Mandatory Access Control: SELinux a AppArmor
- SELinux: politicky řízený kontext (typ, role, doména) odděluje procesy a zdroje; režimy enforcing, permissive, disabled; užitečný audit a booleans pro ladění.
- AppArmor: profilový přístup s pravidly založenými na cestách; jednodušší implementace, vhodný pro per-aplikace omezení.
- Princip: i když POSIX práva dovolí přístup, MAC může dále omezit; obrana do hloubky a prevence laterální eskalace oprávnění.
Network přístupy a vzdálené přihlášení
- SSH: preferovat autentizaci klíči, povolit
PubkeyAuthentication yes, omezitPermitRootLogin prohibit-passwordnebono, nastavit restriktivníAllowUsers/AllowGroups. - Omezení portů a služeb: firewalld, nftables a tcpwrappers (na zastaralých systémech) pro řízení dosahu.
- 2FA/MFA: TOTP/U2F pro kritické účty; security keys a FIDO2 zvyšují odolnost proti phishingu.
Systemd a správa oprávnění služeb
- Drop-in restrikce: parametry
User=,Group=,UMask=,CapabilityBoundingSet=,NoNewPrivileges=yesaPrivateTmp=truepro sandboxing služeb. - Mount a namespace omezení:
ProtectSystem=,ProtectHome=,ReadWritePaths=,RestrictSUIDSGID=,RestrictAddressFamilies=. - Řízení zdrojů:
CPUQuota=,MemoryMax=,IOReadBandwidthMax=a cgroups pro izolaci.
Kontejnery a bezpečnost namespace
- User namespaces: mapování UID/GID v kontejnerech na neprivilegované UID hostitele snižuje riziko container escape.
- Seccomp: filtrování systémových volání; minimalizace povolených syscallů ke snížení útočné plochy.
- Podpůrné vrstvy: AppArmor/SELinux profily pro běh kontejnerů, rootless runtime, omezení capability.
Integrační scénáře s adresářovými službami
- LDAP/AD/FreeIPA: centralizovaná správa identity a politik; SSSD pro cache a offline režim; mapování skupin na role.
- Kerberos: jednotné přihlášení (SSO) s robustní kryptografií; správa lístků TGT a jejich životnosti; delegace pravomocí.
- Automount a homed: dynamické připojování domovských adresářů; vhodné pro desktop i clustery.
Audit a forenzní připravenost
- auditd a ausearch: pravidla pro sledování citlivých akcí (změny v
/etc/shadow,sudo, SELinux zamítnutí), korelace s SIEM systémy. - logind a journald: záznam přihlášení, relací a neúspěšných pokusů; správa rotace a retenčních politik.
- Integrita: IMA/EVM pro ověřování integrity binárních souborů a konfigurací; detekce neautorizovaných změn.
Best practices pro účty a oprávnění
- Princip nejmenších nutných oprávnění (PoLP) a separace povinností.
- Zákaz přímého přihlášení root, využívání sudo s granularitou a auditním záznamem.
- Vynucování MFA pro privilegované účty a vzdálené přístupy.
- Pravidelné hardening: aktualizace, CIS/OS-hardening profily, kontrola
umaska citlivých world-writable míst. - Pravidelné recertifikace přístupů a revize členství ve skupinách; automatizace deprovisioningu.
- Pro služby používat oddělené servisní účty bez login shellu a s omezenými právy.
Modelování oprávnění pro aplikace a data
- Datové domény: rozdělení úložišť na oblasti s rozdílnou klasifikací (veřejné, interní, citlivé) a mapování na skupiny/ACL.
- Workflow žádostí: standardizovaný proces pro dočasné a trvalé přístupy, schvalování a evidenci důvodů.
- Šifrování: data-at-rest (LUKS, fscrypt) a data-in-transit (TLS/IPsec), správa klíčů (KMS, TPM).
Typické chyby a jak se jim vyhnout
- Příliš široká členství ve skupinách (např. všichni v sudo); neomezené použití
NOPASSWDv souborusudoers. - Neaktuální účty bývalých zaměstnanců; chybějící expirace a deaktivace účtů.
- Nesprávné nastavení
umaskumožňující world-readable přístup k citlivým datům; absence ACL u sdílených projektových adresářů. - Spouštění služeb jako root bez oprávněného důvodu; nevyužití capabilities a sandboxingu.
- Ignorování auditních chyb a SELinux zamítnutí bez analýzy příčiny.
Závěr: bezpečná a provozně udržitelná identita v Linuxu
Efektivní správa uživatelů a oprávnění kombinuje správnou identitu, disciplinovaná oprávnění, audit a automatizaci. Využitím POSIX práv, ACL, sudo, capabilities a MAC sestavíte obranu do hloubky, která splní bezpečnostní i provozní požadavky – od serverů přes kontejnery až po pracovní stanice.




























