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 jemně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 (home, shell). Hesla jsou zde nahrazena znakemx./etc/shadow: obsahuje kryptografické otisky hesel a parametry expirace (přístup pouze root)./etc/group: definice skupin, členství, GID a pomocná metadata.
Životní cyklus uživatele: vytvoření, změna, zrušení
- Vytvoření: nástroje typu
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; ponechá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í flagy (required, sufficient, requisite, optional).
- NSS (Name Service Switch): zdroje identit (soubory, LDAP, SSSD) a pořadí dotazování (
/etc/nsswitch.conf). - Politiky hesel: délka, složitost, historie, expirace; uzamčení po pokusech (pam_tally2, pam_faillock), MFA (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
/etc/sudoersasudoers.d. - polkit: jemné řízení oprávnění pro DBus-služby a desktopové akce; pravidla na základě identity a kontextu.
Model oprávnění POSIX: vlastník, skupina, ostatní
- Bitová maska rwx: čtení, zápis a spuštění pro trojici user/group/other.
- Umask: výchozí maska omezuje nově vytvořená oprávnění procesů; rozdílné pro systémové služby a interaktivní shell.
- Speciální bity: setuid (spuštění s UID vlastníka), setgid (GID), sticky bit (ochrana mazání ve sdílených adresářích jako
/tmp).
Rozšířená ACL (Access Control Lists)
- Posix ACL: jemnější řízení přístupu nad rámec 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í; pozor na interakci 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í:
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:
chattr +ialsattrpro ochranu kritických souborů před změnou či smazáním.
Linux capabilities: jemné rozdělení moci root
Capability model 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 cestově orientovanými pravidly; jednodušší onboard, vhodný pro per-aplikace omezení.
- Princip: i když POSIX práva povolí, MAC může dále omezit. Obrana do hloubky a prevence laterální eskalace.
Network přístupy a vzdálené přihlášení
- SSH: preferovat klíčovou autentizaci, povolit
PubkeyAuthentication yes, omezitPermitRootLogin prohibit-passwordnebono, restriktivníAllowUsers/AllowGroups. - Omezení portů a služeb: firewalld, nftables a tcpwrappers (na legacy systémech) pro řízení dosahu.
- 2FA/MFA: TOTP/U2F pro kritické účty; security keys a FIDO2 pro odolnost vůči phishingu.
Systemd a správa oprávnění služeb
- Drop-in restrikce:
User=,Group=,UMask=,CapabilityBoundingSet=,NoNewPrivileges=yesaPrivateTmp=truepro sandboxing služeb. - Mount a namespace omezení:
ProtectSystem=,ProtectHome=,ReadWritePaths=,RestrictSUIDSGID=,RestrictAddressFamilies=. - Resource control:
CPUQuota=,MemoryMax=,IOReadBandwidthMax=a cgroups pro izolaci.
Kontejnery a namespace bezpečnost
- User namespaces: mapování UID/GID v kontejnerech na neprivilegované UID hostitele; snížení rizika container escape.
- Seccomp: filtrování systémových volání; minimální syscalls profil pro zmenšení útočné plochy.
- Podpůrné vrstvy: AppArmor/SELinux profily pro běh kontejnerů, rootless runtime, omezení capabilities.
Integrační scénáře s adresářovými službami
- LDAP/AD/FreeIPA: centralizovaná identita a politika; SSSD pro cache a offline režim; mapování skupin na role.
- Kerberos: jediné přihlášení (SSO) se silnou kryptografií; lístky TGT a jejich životnost; delegace.
- Automount a homed: dynamické připojování domovských adresářů; na desktopu i v clusterech.
Audit a forenzní připravenost
- auditd a ausearch: pravidla pro sledování citlivých akcí (změny
/etc/shadow,sudo, SELinux denials), korelace s SIEM. - logind a journald: záznam přihlášení, relací a neúspěšných pokusů; rotace a retenční politiky.
- Integrity: IMA/EVM pro ověřování integrity binárek 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í.
- Zakázat přímý root login, používat sudo s granularitou a auditním záznamem.
- Vynucovat MFA pro privilegované účty a vzdálené přístupy.
- Průběžné hardening: aktualizace, CIS/OS-hardening profily, kontrola
umaska 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ělte úložiště na prostory s rozdílnou klasifikací (veřejné, interní, citlivé) a mapujte je na skupiny/ACL.
- Workflow žádostí: standardizovaný proces pro dočasné a trvalé přístupy, schvalování a záznam důvodu.
- Š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é skupiny (např. všichni v sudo); neomezené
NOPASSWDvsudoers. - Neaktuální účty bývalých zaměstnanců; chybějící expirace a disable proces.
- Nastavení
umaskumožňující world-readable citlivá data; chybějící ACL u sdílených projektů. - Spouštění služeb jako root bez důvodu; nevyužité capabilities a sandboxing.
- Ignorování auditních chyb a SELinux denials bez analýzy kořenové 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 poskládáte obranu do hloubky, která vyhoví bezpečnostním i provozním požadavkům – od serverů přes kontejnery až po pracovní stanice.