Správa uživatelů v Linuxu

Správa uživatelů v Linuxu

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 znakem x.
  • /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ý) nebo adduser (interaktivní). Založení domovského adresáře, inicializace skeletonu (/etc/skel), nastavení shellu a skupin.
  • Změna: usermod pro přejmenování, změnu UID, přidání do skupin, uzamčení účtu; passwd a chage pro správu hesel a expirace.
  • Zrušení: userdel s 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 -aG pro přidání do doplňkových skupin; kontrola příkazem id.
  • 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/sudoers a sudoers.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: getfacl a setfacl pro č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í: chown a chgrp; 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 +i a lsattr pro 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, omezit PermitRootLogin prohibit-password nebo no, 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=yes a PrivateTmp=true pro 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 umask a 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é NOPASSWD v sudoers.
  • Neaktuální účty bývalých zaměstnanců; chybějící expirace a disable proces.
  • Nastavení umask umožň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.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *