1.9 YunoHost – používatelia, domény a aplikácie
Domény a subdomény
Pri inštalácii servera sme uviedli našu doménu, no YunoHost samozrejme podporuje aj samostatné subdomény. Pridávať ich môžeme cez ponuku Domény. Na našom serveri by sme chceli vytvoriť tieto subdomény:
- www: verejne dostupný web, nasadíme DokuWiki;
- blog: verejne dostupný blog, nasadíme Bludit alebo WonderCMS;
- doc: interné návody, ktoré nebudú dostupné verejnosti, nasadíme HedgeDoc;
- mail: interný webmail, nasadíme Roundcube;
- smart: interná správa automatizácie smart zariadení, nasadíme Home Assistant.
Každej vytvorenej subdoméne môžeme špecifikovať niekoľko zaujímavých parametrov. My tieto subdomény budeme využívať len pre rôzne webové služby, preto im všetkým vypneme príjem i odosielanie e-mailov.
Pokiaľ by sme chceli, aby prihlasovanie používateľov neprebiehalo cez hlavnú doménu, ale nejakú špeciálnu subdoménu (napr. v tvare login.priezvisko.lab alebo yuno.priezvisko.lab), môžeme vytvoriť túto subdoménu a nastaviť ju ako „Hlavnú doménu“ tlačidlom Nastaviť predvolené.
Používateľské účty
Účty používateľov môžeme spravovať (vytvárať, upravovať a mazať) cez ponuku Používatelia. Pri vytváraní používateľa mu môžeme nastaviť len login, plné meno a heslo, no pri dodatočnej úprave mu môžeme nastaviť aj kvótu (dátový limit) na veľkosť poštovej schránky, vytvoriť e-mailový alias, či presmerovania pošty.
Pokiaľ by sme chceli niektorému používateľovi prideliť práva správcu systému, môžeme ho zaradiť do skupiny Správcovia cez ponuku Skupiny a oprávnenia. Spočiatku tu nemôžeme nastaviť nič iné, no po nainštalovaní aplikácií s podporou SSO budeme môcť určovať, ktorí používatelia budú môcť pristupovať k jednotlivým aplikáciám.
Aplikácie
Aplikácie sa inštalujú v podobe samostatných serverov. V YunoHost ich pridávame jednoducho cez ponuku Aplikácie → Inštalovať aplikáciu. Môžeme ich vyhľadávať podľa kategórií alebo podľa názvu. Na rozdiel od umbrelOS môžeme upraviť aj niektoré parametre, predovšetkým si musíme dať pozor na:
- výber domény – pre každú aplikáciu je vhodné prideliť samostatnú (sub)doménu, niektoré to vyžadujú;
- cesta adresy URL – ak sme aplikácii pridelili samostatnú (sub)doménu, nemá zmysel uvádzať aj cestu, preto dáme „/“;
- kto má mať prístup – tu nepozeráme len na náš zámer, ale aj na technické možnosti, teda podporu SSO (pozri nižšie);
- jazyk – pre niektoré aplikácie volíme jazyk vopred na tomto mieste;
- používateľ, ktorý bude správcom – niektoré aplikácie rozlišujú používateľa, ktorý má viac možností ako ostatní (alebo je jediný, ktorý sa môže do aplikácie prihlásiť).
LDAP a SSO
Pri riešení prihlasovacích údajov sa môžeme stretnúť s dvoma technikami, pri ktorých aplikácia / server nemá vlastnú databázu s heslami používateľov:
- LDAP (Lightweight Directory Access Protocol): Je to otvorený protokol pre prístup k adresárovým službám a overovaniu používateľských údajov. Hoci aplikácia ponúkne svoj prihlasovací formulár pre zadanie mena a hesla, tieto údaje odošle autentifikačnému serveru LDAP (v YunoHost), ktorý ich overí.
- SSO (Single Sign-On): Ide o metódu autentifikácie, pri ktorej sa používateľ prihlási len raz a môže pristupovať ku viacerým aplikáciám. Aplikácia nepotrebuje mať ani vlastný prihlasovací formulár, pretože prihláseného používateľa zdieľa cez webový prehliadač so serverom YunoHost. Identita sa odovzdáva automaticky na pozadí (či už cez cookies alebo HTTP hlavičky). Čiže ak je používateľ prihlásený k serveru YunoHost, už sa nemusí prihlasovať do aplikácie.
Oba prístupy majú rovnaký cieľ – eliminovať potrebu samostatných používateľských účtov pre každú aplikáciu a umožniť jednotlivým serverom zdieľať jednotné prihlasovacie údaje.
Je SSO závislé od LDAP, majú nejaký súvis?
Nie, SSO môže používať iné protokoly alebo spôsoby overovania používateľov, napríklad na webe je moderný OpenID Connect / OAuth 2.0, vo firmách s Windows Active Directory sa používa Kerberos, reverzné proxy servery môžu používať HTTP hlavičky.
Podpora jednotného prihlasovania v aplikáciách
Komunitný trh s aplikáciami (katalóg YunoHost) je veľmi nekonzistentný. Veľmi záleží na tom, ako kvalitne balíček nachystal dobrovoľník z komunity a ako pravdivo a presne špecifikoval vlastnosti aplikácie.
Z hľadiska podpory jednotných prihlasovacích údajov sa môžeme stretnúť s viacerými typmi aplikácií.
Aplikácie, ktoré podporujú len SSO a nemajú verejne dostupné časti, neponúkajú ani žiadny prihlasovací formulár. Pre tento typ aplikácií je veľmi vhodné pri inštalácii nastaviť prístup len pre používateľov YunoHost – po zadaní URL adresy server YunoHost požiada o prihlásenie (pokiaľ nie je nik prihlásený). Príkladom je:
-
FreshRSS: zberač RSS správ, využíva HTTP Header Auth.
Aplikácie, ktoré podporujú len LDAP – vyžadujú prihlásenie cez vlastný formulár. Pre tieto aplikácie je veľmi vhodné nastaviť prístup pre všetkých (Visitors), inak by bolo treba dvojité prihlasovanie. Patria sem napríklad:
- Home Assistant: server smart domácnosti, potrebuje samostatnú subdoménu;
-
HedgeDoc: jednoduchý web pre dokumentácie v MarkDown, podľa katalógu podporuje aj SSO, ale v praxi vyžaduje prihlasovací formulár (LDAP);
-
SnappyMail: webmail, podľa katalógu podporuje SSO, ale reálne je to tiež LDAP.
Aplikácie, ktoré podporujú aj SSO, aj samostatné LDAP – pokiaľ majú aj verejne dostupné časti a chceme ich nechať prístupné pre internet, je vhodné nastaviť prístup pre všetkých. V opačnom prípade môžeme obmedziť prístup len pre používateľov. Príkladom sú:
- DokuWiki: jednoduchý web vo Wiki štýle, zobrazenie je verejné, prihlásiť sa pre úpravy môže len používateľ zvolený ako správca pri inštalácii;
- Roundcube: webmail, nemá verejné časti, vyžaduje prihlásenie;
- Nextcloud: kolaboratívny nástroj, nemá verejné časti, vyžaduje prihlásenie.
Aplikácie, ktoré nepodporujú jednotné prihlasovanie majú buď vlastnú databázu používateľov alebo sa k nim prihlasuje jediným účtom / heslom. Patria sem napríklad:
-
Bludit: jednoduchý web, vytvára sa zvlášť účet s menom admin, zobrazenie je verejné, spravovanie cez URL /admin;
-
WonderCMS: jednoduchý web, vytvára sa zvlášť heslo, zobrazenie je verejné, spravovanie cez nastaviteľnú URL;
-
LinkStack: zbierka webových odkazov, prevezme login používateľa, ale vytvára sa zvlášť heslo, zobrazenie násteniek je verejné, inak vyžaduje prihlásenie cez svoj formulár, potrebuje samostatnú subdoménu a HTTPS.