- Vrealmatic
- Ubuntu Server
- Správa uživatelů
Správa uživatelů, uživatelských oprávnění & přístupů na Ubuntu Server
Postupy, tipy a návody pro správu (vytváření, modifikaci odstraňování účtů, nastavování jejich oprávnění a sledování aktivity) uživatelů v OS Ubuntu Server.

Základní typy účtů a jejich účel na Ubuntu Server OS
Správa účtů na Ubuntu Serveru je klíčová v kontextu přiřazování různých oprávnění uživatelům i službám odrážejícím se v bezpečnosti provozu systému.
Na Ubuntu Server OS, stejně jako jiných Linuxových distribucích, můžeme primárně rozlišovat dva základní typy účtů, a to:
Uživatelské účty
- slouží pro přihlášení reálných osob k systému. Tyto účty jsou obvykle spojeny s konkrétními lidmi.
- typicky mají svůj vlastní domovský adresář
/home/<userName>, pro osobní data a aplikace uživatelů. - Uživatelské účty mohou mít přiřazená oprávnění pro přístup k dalším částem systému, včetně administrátorských rolí s možností používat
sudopříkazy.
Systémové účty (účty služeb)
- jsou vytvořeny primárně pro potřeby provozování aplikací nebo služeb na pozadí (například webové servery, databáze).
- typicky mají pro svá data přiřazený adresář
/var/lib/<serviceName> - obvykle mají omezená oprávnění nutná pouze pro konkrétní úlohy a často jsou nastavena tak, aby nemohla být použita pro interaktivní přihlášení.
Jelikož jde v obou případech technicky o obdobný typ "uživatelského" účtu, i nakládání s oběma typy účtu je podobné - viz. dokumentace níže.
S využitím účtů je možné:
- Zvýšit bezpečnost přiřazením oprávnění, kdo se k serveru může připojovat, k jakaým datům přistupovat, a co na serveru vykonávat. V případě systémových uživatelů jde poté o izolaci běhu služeb od ostatních operací systému.
- Monitorovat aktivitu na serveru v kontextu sledování akcí provedených jednotlivými uživateli.
- Spravovat zdroje. Uživatelské účty umožňují lepší kontrolu nad využíváním systémových zdrojů. Lze například nastavit pro jednotlivé uživatele kvóty na diskový prostor nebo omezení procesorového času.
- Personalizovat prostředí pro zvýšení pohodlí a efektivity. Každý uživatel může mít své vlastní prostředí s individuálně nastavenými aliasy, proměnnými prostředí a konfiguračními soubory.
- Dodržet předpisy, standardy, regulace v odvětvích s přísnými požadavky na správu uživatelských účtů a zabezpečení dat.
Zjištění uživatelů na serveru
cat /etc/passwd- seznam účtů systému včetně uživatelských informacícompgen -u- seznam účtů bez dalších informacícompgen -g- seznam uživatelských skupin bez dalších informacígroups <userName>- výpis uživatelských skupin, do nichž spadá daný uživatel
Vytvoření nového uživatele na Ubuntu Server
Uživatelské účty na Ubuntu Serveru lze tvořit prostřednictvím sudo příkazů adduser a useradd s příslušnými speciálními parametry. V rámci porovnání obou příkazů, adduser je obecně přátelštější a vysokoúrovňový nástroj poskytující více možností automatizace a přehlednější konfiguraci, zatímco useradd je základnější a vyžaduje více manuálních úprav. Pro zjednodušení, v případě tvorby obou typů uživatelů níže je použít příkaz adduser.
sudo adduser <userName>Příkaz provede následující:
- Vyžádá si zadání hesla a jeho potvrzení
- Požádá o další volitelné informace -
Full name,Room number,Work phone,Home phone,Other. - Vytvoří domovský adresář pro nového uživatele, obvykle v
/home/<userName>. - Nastaví odpovídající skupiny a další konfigurační soubory.
Odstranění možnosti přihlásit se pro uživatele
sudo usermod -s /usr/sbin/nologin <userName>Navrácení možnosti přihlásit se pro uživatele
sudo usermod -s /bin/bash <userName>Uživatel systémové služby se tvoří obdobně jako běžný uživatelm, avšak s několika speciálními parametry zajišťujícími omezení vhodná pro systémový typ účtu, viz:
sudo useradd --system --no-create-home --shell /bin/false <serviceName>Popis parametrů
--system= účet má být vytvořen jako systémový účet. Systémové účty mají obvykle nižší UID a jsou oddělené od běžných uživatelských účtů pro lepší organizaci a zabezpečení. Systémové účty jsou také obvykle vyloučeny z některých systémových běžných úloh, jako jsou e-maily o expiraci hesel atd.--no-create-home= účet má být vytvořen bez domovského adresáře--shell /bin/false= Nastavuje shell uživatele na/bin/false, což zabrání uživateli v interaktivním přihlášení. Alternativou je použití/usr/sbin/nologin. Přihlášení není možné v obou případech - rozdíl je však ve formě odpovědi. Zatímco/usr/sbin/nologinposkytne informaci, že přihlášení není povoleno,/bin/falseokamžitě ukončí shell session bez podání jakékoli informace, včetně záznamu v logu.
Příkaz provede následující:
- Vytvoří systémový účet bez interaktivních dotazů (nepožaduje heslo).
- Nevytvoří domovský adresář pro účet, pokud to nepožadujete přiřauením parametru
--create-home. - Vytvoří skupinu se stejným jménem jako účet, pokud již neexistuje.
Odstranění uživatele z Ubuntu Server
deluser je příkaz specifický pro OS Debian a jeho deriváty, jako je Ubuntu a další. Jde v podstatě o script rozšiřující funkcionalitu userdel. Příkaz současně automaticky odstraňuje domovský adresář uživatele a zpracovat další úkoly, jako je odstranění uživatele ze všech skupin, ve kterých byl členem, stejně jako skupin bez členů.
sudo deluser <userName>- odstranění uživatelesudo deluser --remove-home <userName>- odstranění domovského adresáře uživatelesudo deluser <uzivatel> <skupina>- odstranění uživatele ze skupiny
userdel je standardní nástroj pro odstraňování uživatelů ve většině distribucí Linuxu. Je součástí balíčku pro správu uživatelů passwd.
sudo userdel <userName>- odstranění uživatelesudo userdel -r <userName>- odstranění uživatele včetně domovského adresáře a mailové schránky
Správa přístupů pro jednotlivé uživatele
ls -lh/ls -lh <cesta>= Zjištění nastavení přístupu k jednotlivým adresářům
Přidání vlastností jednoho uživatele jinému uživateli
sudo usermod -aG <serviceName1> <serviceName2>Nyní služba <serviceName2> má stejná oprávnění jako služba <serviceName1>
Změna vlastnictví adresáře
Každý adresář v Ubuntu server je ve vlastnictví konkrétního uživatele. Není-li uživatel přiřazený, vlastníkem je root. Vlastník je zobrazen ve výpisu ls -lh a může být změněn následujícím příkazem:
- Změna vlastnictví
sudo chown <userName>:<userName> soubor/slozka/cesta - Rekruzivní změna vlastnicví (včetně všech vnořených souborů a složek)
sudo chown <mark>-R</mark> <userName>:<userName> soubor/slozka/cestaDobrovolný parametr
-Rznačí rekruzivní změnu vlastnictví, tedy přidání shodného vlastnictví i na všechny poddružené složky daného adresáře.
Nastavení oprávnění manipulace se souborem / adresářem ( chmod )
sudo chmod 600 <file>- číst a zapisovat může pouze vlastníksudo chmod 400 <file>- soubor je určen pouze pro čtení vlastníkem souborusudo chmod g+r <file>- zapisovat může pouze vlastník, číst mohou kromě vlastníka i uživatelé skupiny
Správa oprávnění pro jednotlivé uživatele
Umožnění používat příkaz sudo (možnost používat příkaz sudo)
Možnost používat
sudopříkazy (mohou ovlivnit celý systém) mají uživatelé ze skupiny sudo. Oprávnění uživateli tedy přidáme jeho přidáním do skupiny.usermod -aG sudo <userName>Přidání zajišťuje parametr
-aG- append to group (přidat do skupiny). Tedy, ke stávajícím skupinám uživatele <userName> je příkazem přidána i skupinasudo.Ověření
sudooprávnění# Přepnutí se na nově vytvořeného uživatele $ su - <userName> # zkouška spuštění příkazu vyžadující sudo oprávnění (výpis root složky) $ sudo ls -la /root # write password for <userName> based on the requestCo znamená být v
sudoskupině?Přístup k příkazu
sudoumožňuje uživatelům vykonávat příkazy s oprávněními superuživatele (root), což zahrnuje schopnost měnit systémové soubory, instalovat software, měnit běžící služby a provádět další administrativní úkoly. Konkrétnísudooprávnění jednotlivých uživatelů lze současně definovat v souboru/etc/sudoerspopř./etc/sudoers.d/.sudo visudoumožňuje explicitně specifikovat oprávnění pro jednotlivé uživatele (jde o alternativu k umístění uživatele do skupiny
sudo)
Specifikace SSH přístupu pro jednotlivé uživatele
K Ubuntu Server lze přistupovat prostřednictvím SSH dle konfigurace mnoha způsoby, včetně jejich kombinace. Současně, způsob přístupu lze řešit globálně pro všechny, stejně jako jednotlivě na úrovni jednotlivých uživatelů a skupin uživatelů.
Specifikace možností a jejich konfigurace v rámci SSH přístupu je specifikována v sekci SSH Keys, 2FA authentization a podobně.
Specifikace suborders pro jednotlivé uživatele
Prostřednictvím suborders soboruvisudo lze libovolným uživatelům dát možnost vykonávání určených příkazů vyžadujících sudo oprávnění.
sudo visudo- Povolení konkrétnímu živateli vypnout počítač
Přidejte záznam níže na konec
visudosuborders souboruspecificUsername ALL = NOPASSWD: /sbin/poweroff, /sbin/shutdownNyní by měl uživatel
specificUsernamemít oprávnění používat příkazysudo poweroffasudo shutdown now


