← FAQ
FAQ

Inloggen: eerste start, inlogscherm, offline en zakelijk inloggen

FAQ › EUZOS Desktop › Inloggen · English

Wat is het?

Als EUZOS Desktop is opgestart, toont het het inlogscherm. Er staat niets van een gebruiker onversleuteld op de pc: het profiel komt na het inloggen van de profielserver, staat alleen in het RAM en wordt gewist als je je afmeldt ("volledig online, niets lokaal"). Je kunt op vier manieren inloggen:

  1. QR-code met de EUZOS-app op je telefoon (de telefoon kiest het profiel, Werk of school of Privé, en je bevestigt met je vingerafdruk of Face ID);
  2. e-mailadres en wachtwoord (dezelfde als in de EUZOS-app);
  3. Inloggen met Microsoft (het werkaccount van je bedrijf in Entra ID, via de device-code-flow);
  4. Offline inloggen met het wachtwoord dat je het laatst op deze pc gebruikte, als er geen verbinding is.

Welke profielserver de pc vertrouwt, staat in \EOS\FW\PROFILE.TXT.

Hoe doe ik…?

Hoe kom ik na de installatie op het inlogscherm?

Start op vanaf de interne schijf (of de stick). Als netwerk, wifi en sshd zijn gestart, stopt het opstartscherm en toont screen::start_up het inlogscherm, met het opstartgeluid. Twee dingen houden je in plaats daarvan in de console:

  • \EOS\FW\SCREEN.TXT bevat het woord console (zie Schermbeveiliging › Configuratiebestanden);
  • er is geen bruikbare PROFILE.TXT (profile::boot_check): geen bestand, een onleesbaar bestand, of een bestand waarmee deze pc niet kan inloggen. De console schrijft dan Screen : console, because …. Een productiebuild heeft geen PROFILE.TXT nodig (de productieserver zit erin ingebouwd).

Typ screen login in de console om het inlogscherm toch te tonen.

Hoe log ik in met mijn telefoon?

Open de EUZOS-app en scan de QR-code. De app toont dezelfde koppelcode van zes cijfers die onder de QR-code staat; controleer dat ze gelijk zijn, kies het profiel (Werk of school / Privé) en bevestig. Zolang geen telefoon de code heeft opgehaald, komt er elke 30 s een nieuwe QR-code (een foto van het scherm is daarna waardeloos); zodra een telefoon hem heeft opgehaald, toont het scherm "Bevestig op je telefoon…" tot je bevestigt of weigert.

Hoe log ik in met e-mailadres en wachtwoord?

Typ je e-mailadres en wachtwoord in het formulier rechts van de QR-code en druk op Inloggen (of Enter). De QR-code blijft intussen werken. In een testbuild kun je in een andere omgeving inloggen door een voorvoegsel voor het adres te zetten: sbx:<e-mail> of prod:<e-mail> (zie Omgevingen).

Hoe maak ik een account aan op de pc?

Druk op Account maken onder het formulier: voornaam, achternaam, woonplaats, e-mailadres en een wachtwoord (minstens 10 tekens, twee keer). De profielserver stuurt per mail een code van 6 cijfers (24 uur geldig); typ die op de pc, waarna de pc je inlogt. Code opnieuw sturen vraagt een nieuwe code. Een QR-code op dat scherm opent de registratiepagina (https://<server>/registreer) op je telefoon. Als de server zelf registreren niet toestaat, zegt het scherm "Vraag de beheerder".

Hoe log ik in met mijn Microsoft-werkaccount?

Druk op Inloggen met Microsoft (alleen te zien als de pc een Entra-app heeft in \EOS\FW\MSAPP.TXT). Het scherm toont een adres (microsoft.com/devicelogin), een code in grote letters en een QR-code. Log in op je telefoon of een andere computer; de MFA en Conditional Access van je organisatie gelden. De pc stuurt daarna het ID-token naar de profielserver, die je inlogt met je zakelijke profiel. Je organisatie moet bij de profielserver bekend zijn (tenant en e-maildomein), anders zie je "Je organisatie gebruikt EUZOS nog niet". Mail en OneDrive werken daarna meteen met dezelfde Microsoft-aanmelding. Zie Profielserver › Organisaties.

Hoe log ik in zonder internet?

Als je eerder op deze pc met een wachtwoord hebt ingelogd (en het beleid van de server offline inloggen toestaat), bewaart de pc een offline-kluisje. Zonder verbinding toont het inlogscherm naast de kaart Wifi kiezen het formulier Offline inloggen: "Geen verbinding; inloggen met je laatst gebruikte wachtwoord op deze pc". Met het juiste wachtwoord gaat je profielmap open in offline-modus, met het label Offline in de balk. Zodra er weer internet is, maakt de pc vanzelf weer verbinding (elke 30 s) en verdwijnt het label.

Grenzen: 3 vrije pogingen, daarna een groeiende wachttijd (30 s, 60 s, 120 s, … hoogstens 15 min); na 10 fouten wordt het offline-kluisje gewist. Het kluisje verloopt na het aantal dagen dat de server toestaat (standaard 14, hoogstens 30, 0 = niet toegestaan). Inloggen met de QR-code of met Microsoft maakt geen offline-kluisje.

Hoe meld ik me af?

Op het bureaublad: de aan/uit-knop › Afmelden, en bevestig "Afmelden?". In de console, de terminal of via SSH: logout (zonder vraag). Afmelden meldt het token af bij de profielserver, wist het profiel en alles van de sessie uit het geheugen (browsergegevens, mail, Chromium, Microsoft-tokens, klembord, de terminalgeschiedenis en de shellgeschiedenis) en toont het inlogscherm met een nieuwe code.

Je wordt ook vanzelf afgemeld als:

  • je deze pc op afstand afmeldt vanuit de EUZOS-app;
  • de pc 15 minuten geen geldig antwoord van de server heeft gehad;
  • je 12 uur bent ingelogd (ook offline).

Hoe kies ik de taal van het inlogscherm?

Tik op de kaart Taal onderaan en kies een van de 34 talen. Die geldt meteen en de pc onthoudt hem in \EOS\FW\LANG.TXT (geschreven zodra er 2 s niets meer gekozen is). Die keuze gaat boven language= in PROFILE.TXT. Na het inloggen geldt de taal van het profiel.

Hoe sta ik alleen zakelijke profielen toe op deze pc?

profile private off schrijft private=off in PROFILE.TXT (oud prive=uit wordt nog gelezen). Het inlogscherm biedt dan alleen "Werk of school", de pc vraagt de server om voorkeur=zakelijk en weigert een privéprofiel dat toch binnenkomt. profile private on draait het terug.

Hoe wissel ik tussen SBX en PROD?

Alleen in een testbuild:

  • environment toont de build, de standaardomgeving en de omgeving van de huidige sessie;
  • environment sbx|prod schrijft environment= in PROFILE.TXT (met de ingebouwde server en sleutel; private= en language= blijven); actief na een herstart;
  • profile sandbox|production|local [sleutel] schrijft een nieuwe PROFILE.TXT voor die omgeving; actief vanaf de volgende inlogcode;
  • op het inlogscherm logt sbx:<e-mail> of prod:<e-mail> voor één sessie in op die omgeving.

Een oranje label SANDBOX staat op het inlogscherm zolang de standaard SBX is, en in de balk zolang de sessie SBX is. Een productiebuild kent alleen PROD en weigert deze opdrachten.

Waarom kan ik de console niet openen vanaf het inlogscherm?

In een productiebuild zijn de console (Ctrl+Alt+F1/T, screen console, de regel Console in het aan/uit-menu, de terminal), sshd, log en profile/environment beheeropdrachten: ze mogen alleen met een ondertekend beleid in je profiel (beheer=), dat de beheerder op de profielserver instelt. Zonder ingelogde sessie accepteert een productiebuild alleen help, reboot, poweroff, screen login, screen back, en battery, date, mem zonder argumenten. Een testbuild staat alles toe, tenzij een ondertekend beleid iets anders zegt. Zie Console.

Hoe registreer ik deze pc met een apparaatsleutel?

pckey create maakt een Ed25519-apparaatsleutel in \EOS\FW\PCKEY.TXT (alleen met sterke willekeur, nooit overschreven). pckey toont de publieke sleutel, de vingerafdruk ervan en de CLI-regel die de beheerder op de profielserver uitvoert (pc-register '<naam>' <sleutel> <organisatie>). De sleutel wordt gebruikt door Server Admin om opdrachten aan een werkplekserver te ondertekenen; het installatieprogramma kopieert hem nooit.

Details

Het inloggen met de QR-code (de sessie pollen)

  1. Per inlogcode maakt de pc een LoginAttempt: een sessie-id S (in de QR-code https://<server>/l/<S>) en een pc-geheim G (128 bits, alleen in het RAM, nooit op het scherm of in het log). De koppelcode van zes cijfers wordt berekend uit S en SHA-256(G) met het domein EUZOS-koppelcode-v1.
  2. Thread login (profile::wait_for_phone) pollt elke 2 s GET https://<server>/api/sessie/<S>?pc=<G>[&voorkeur=…]; de eerste poll maakt de sessie op de server aan. Zolang geen telefoon de code heeft opgehaald, pollt de pc na 30 s (euzos_profile::QR_MS) met &intrekken=1 en toont een nieuwe code.
  3. Bij ok controleert euzos_profile::parse_response het antwoord: versie 2, de Ed25519-handtekening (handtekening=, over EUZOS-profiel-v2\0 + alles ervoor) met de sleutel uit PROFILE.TXT, en omgeving, server, sessie, pc gelijk aan de eigen waarden van de pc, verloopt in de toekomst (als de klok van NTP komt). Anders wordt het antwoord gewist en komt er een nieuwe code.
  4. profile::login onthoudt server en token, start de statusthread en geeft het profiel aan desktop::start.

Na het inloggen

  • Status: thread status vraagt elke 30 s GET /api/status?token=…. afgemeld (op afstand afgemeld of verlopen) wist het profiel en toont het inlogscherm. 15 min geen geldig antwoord, of 12 uur ingelogd: afmelden.
  • Instellingen terugschrijven: wat je verandert (balk, thema, taal, kleur, toetsenbord, touchpad, screensaver, recente apps, browserfavorieten, …) gaat 2 s na de laatste wijziging in één POST /api/profiel/instellingen?token=…. Mislukt dat (geen netwerk, 429, 5xx), dan opnieuw na het volgende geldige statusantwoord; afmelden stuurt eerst wat nog openstaat. In het log komen alleen de namen van de instellingen, nooit de waarden.
  • Beheerbeleid: environment::set_policy neemt beheer= uit het ondertekende profiel (in een productiebuild alleen uit een PROD-profiel dat met de ingebouwde productiesleutel is ondertekend). Het wordt op elke manier van afmelden gewist.

Offline inloggen

  • Na een geslaagde login met wachtwoord leidt thread login-pw een sleutel af van het wachtwoord (Argon2id, 64 MiB, t=4, eigen salt; offline::after_login). Als de profielmap open is, gaat het kluisje naar partitie 2 (euzos_profiledir::offline, hoogstens 8 per pc) en het ondertekende profiel naar systeem/offline/profiel in de map.
  • Zonder verbinding (offline::try_login, alleen bij een netwerkfout, nooit bij een foutantwoord van de server) gaan het kluisje, de map en het profiel open; de handtekening van de server wordt opnieuw gecontroleerd. De sessie heeft geen pc-token: geen kluis, DriverEnricher, BrowserFeedback of appcatalogus.
  • Thread reconnect (elke 30 s) post het herverbindingstoken; 200 maakt de sessie online (profile::came_online), 403 (ingetrokken, geblokkeerd, gewist, verlopen, uit, onbekend) wist het kluisje en meldt af.
  • Instellingen die offline veranderden en niet verstuurd konden worden, gaan naar systeem/offline/instellingen-<n> en worden door de volgende online sessie verstuurd.

Inloggen met Microsoft (Entra)

kernel/src/entra.rs: thread entra vraagt een device code aan (RFC 8628) met de client-id uit MSAPP.TXT, scopes openid profile email plus die van mail en OneDrive. Na de bevestiging gaat het ID-token naar POST /api/pc/entra (profile::entra_request) met een eigen sessie-id en pc-geheim; de server antwoordt met een ondertekend profiel (methode=microsoft), altijd het zakelijke profiel. entra::take_token maakt daarna van het Microsoft-token een account van crate::microsoft (mail, OneDrive). Tokens en codes blijven in het RAM.

Opbouw van het inlogscherm

libs/ui/src/login.rs: het logo linksboven; "INLOGGEN" met links de QR-kolom en rechts het formulier (e-mailadres, wachtwoord, Inloggen), met "of" ertussen (staand onder elkaar); onder het formulier Account maken en Inloggen met Microsoft. Onderaan een rij kaarten:

KaartToontTikken
Netwerkkabel of wifi met naam en sterktehet wifipaneel
Mobiel (alleen met een modem)provider, generatie, signaal, of "PIN nodig", "Geen SIM-kaart"het paneel Mobiel netwerk (pincodeveld)
Taalwereldbol en naam van de taalhet taalpaneel
Batterij (alleen met een batterij)percentage en laadtoestand—
Tijdtijd en datum—
Aan/uitpictogramHerstarten, Uitschakelen, Console (Console niet in een productiebuild)

Zonder netwerk of profielserver is er geen QR-code maar een uitleg en Wifi kiezen.

Naslag

Consoleopdrachten

OpdrachtArgumentenWat het doet
screen login— (oude alias scherm inlog)het inlogscherm met een nieuwe inlogcode
screen off— (oud uit)terug naar de console; een ingelogd profiel wordt afgemeld en gewist
screen desktop[business|private] [<taalcode>] (oud zakelijk, prive, privé)het bureaublad met een voorbeeldprofiel, zonder inloggen; geweigerd als iemand is ingelogd
logout— (oude aliassen afmelden, uitloggen)afmelden: token af bij de server, profiel gewist, inlogscherm
profile— (oude alias profiel)toont omgeving, server, sleutel (hex en sleutel-id), privé aan/uit, of inloggen kan, de server van de sessie
profile sandbox—schrijft PROFILE.TXT voor de sandboxserver met de ingebouwde sandboxsleutel (testbuild)
profile production— (oud productie)schrijft PROFILE.TXT voor de productieserver (testbuild)
profile local[sleutel] (oud lokaal)PROFILE.TXT voor een lokale ontwikkelserver; sleutel = 64 hex uit euzos-profielserver key; de TLS-root komt uit \EOS\FW\EXTRA.PEM
profile privateoff|on (oud prive, privé; uit, aan)zet of verwijdert private=off
environment— (oude alias omgeving)toont build, standaardomgeving en omgeving van de sessie
environmentsbx|sandbox|prod|production (oud productie)zet environment= in PROFILE.TXT; na een herstart (alleen testbuild)
offline—de offline-kluisjes op deze pc (dagen over, fouten, Argon2id-parameters; geen adressen) en of de sessie offline is
offline wipe— (oud wis)wist alle offline-kluisjes op deze pc
pckey— (oude alias pcsleutel)toont de apparaatsleutel, de vingerafdruk en de regel voor pc-register
pckey create— (oud maak)maakt \EOS\FW\PCKEY.TXT (geweigerd als die bestaat of zonder RDRAND)

Alle andere subopdrachten van screen (console, back, welcome, theme, lock, photo, hulpjes voor de testbuild) staan bij Schermbeveiliging › Consoleopdrachten.

profile, environment, log, sshd en het tonen van de console zijn beheeropdrachten (euzos_profile::console::Admin), zie Console.

Functies en modules

Functie / moduleRol
kernel::profile::config / config_for / active_configPROFILE.TXT van deze start; config voor een omgeving; config van de ingelogde sessie
kernel::profile::boot_checkis er een bruikbare PROFILE.TXT (beslist inlogscherm of console)
kernel::profile::command, environment_commandde opdrachten profile en environment
kernel::profile::LoginAttempt (qr, pairing_code)één inlogcode: sessie-id, pc-geheim, koppelcode
kernel::profile::wait_for_phonethread login: pollt de sessie
kernel::profile::login, login_offline, came_online, end_offlineeen online/offline sessie starten, online komen, offline beëindigen
kernel::profile::login_with_password, password_logininloggen met wachtwoord vanaf het inlogscherm / het installatieprogramma
kernel::profile::register, confirm, resend_request, registration_qreen account maken op de pc
kernel::profile::entra_requestID-token naar de profielserver
kernel::profile::logout, session_logout, clear_user, logout_at_serverafmelden en alles van de gebruiker wissen
kernel::profile::setting_changed, recent_changed, favorites_changed, sites_changed, mail_accounts_changedinstellingen klaarzetten om terug te schrijven
kernel::profile::unlock_checkwachtwoordcontrole voor het vergrendelscherm
kernel::offline::{after_login, try_login, follow, check, command}offline-kluisje: maken, inloggen, herverbinden, controle bij ontgrendelen, console
kernel::entra::{start, take_token}de device-code-flow van Microsoft
kernel::device_key::{command, public_key, sign_command}de apparaatsleutel van de pc
kernel::environment::{PRODUCTION, set_policy, clear_policy, admin_allowed, shell_allowed}soort build en beheerbeleid
kernel::lang::{pc, current, set_pc, set_session, choice}taal van de pc en van de sessie; LANG.TXT
kernel::screen::{start_up, login_show}het inlogscherm tonen bij het opstarten / op verzoek
euzos_profile::Config::parsePROFILE.TXT inlezen
euzos_profile::parse_response, parse_statusde antwoorden op sessie en status controleren
euzos_profile::pairing_codekoppelcode van zes cijfers
euzos_profile::writeback::{KEYS, valid, Changes, parse_response}toegestane sleutels en verzoek voor het terugschrijven van instellingen
euzos_profile::console::{Admin, Policy, allowed, line_allowed, allowed_without_session, policy_for_build}regels voor console en beheer
euzos_profiledir::offlinede tabel met offline-kluisjes op partitie 2
euzos_oauth::MsAppMSAPP.TXT inlezen
euzos_ui::loginhet inlogscherm en de kaarten tekenen

Configuratiebestanden

Sinds 27-10-2026 schrijft EUZOS Engelse namen voor configuratiebestanden, sleutels, waarden en bevestigingswoorden (bijvoorbeeld WIPE-…, environment= in PROFILE.TXT); de oude Nederlandse namen (hier oud genoemd) worden nog gelezen en geaccepteerd (docs/ENGLISH.md).

BestandSleutelWaardenBetekenis
\EOS\FW\PROFILE.TXT (oude naam PROFIEL.TXT, wordt nog gelezen)environment (oud omgeving)local, sandbox, production (oud lokaal, productie)omgeving (verplicht)
serverhost of host:poortprofielserver (standaard: ingebouwd voor de omgeving)
key (oud sleutel)64 hexde publieke Ed25519-sleutel van de server
key-id (oud sleutel-id)16 hexmoet bij de sleutel passen (tegen tikfouten)
private (oud prive)on, off (oud aan, uit)off: alleen Werk of school
language (oud taal)taalcodetaal van de pc (inlog- en opstartscherm)
(andere sleutels)—overgeslagen; een sleutel twee keer is een fout (een Nederlandse sleutel en de Engelse tellen als dezelfde sleutel)
\EOS\FW\LANG.TXT (oud TAAL.TXT)language (oud taal)een van de 34 codestaal gekozen op het inlogscherm; gaat boven language= in PROFILE.TXT
\EOS\FW\MSAPP.TXTclient_idGUID (verplicht)Entra-app voor Inloggen met Microsoft
tenantcommon (standaard), organizations, consumers, tenant-id/domeinwelke accounts mogen inloggen; onbekende sleutels zijn een fout
\EOS\FW\PCKEY.TXT(één regel)64 hexEd25519-seed van de apparaatsleutel
\EOS\FW\SCREEN.TXT (oud SCHERM.TXT)eerste woordconsole; login/inlog/graphical/grafisch of leegconsole: geen opstartscherm en geen inlogscherm
\EOS\FW\EXTRA.PEM—PEMeigen TLS-root voor profile local (genegeerd in een productiebuild)

In een productiebuild tellen alleen private= en language= uit PROFILE.TXT; server en sleutel zijn ingebouwd (Config::production_only).

API-eindpunten (aangeroepen door de pc)

De kernel roept nog de oude Nederlandse routes aan; de Engelse routes draaien ernaast op de server, met byte-gelijke inhoud. Alle details: Profielserver › API.

MethodePad dat de kernel gebruikt (oud)Engelse routeDoel
GET/api/sessie/<S>?pc=<G>[&voorkeur=…][&intrekken=1]/api/session/{id}het inloggen met QR pollen
GET/api/status?token=…/api/statusis de sessie nog geldig
GET/api/afmelden?token=…/api/logouthet pc-token afmelden
POST/api/pc/inloggen/api/pc/logininloggen met wachtwoord (ook het vergrendelscherm)
POST/api/pc/entra/api/pc/entrainloggen met een Microsoft-ID-token
POST/api/pc/herverbind/api/pc/reconnectoffline sessie weer online
POST/api/pc/registreer/api/pc/registereen account maken
POST/api/pc/verifieer/api/pc/verifyde code uit de mail bevestigen
POST/api/pc/opnieuw/api/pc/resendnieuwe code per mail
POST/api/profiel/instellingen?token=…/api/profile/settingsinstellingen terugschrijven

Pagina-URL's: https://<server>/l/<S> (QR-code), https://<server>/registreer (registratie-QR).

Protocolberichten en formaten

Antwoord op het pollen van de sessie (eerste regel, dan regels sleutel=waarde):

Eerste regelRegelsBetekenis
wachtcode=<6 cijfers>, gezien=1nog niet goedgekeurd (gezien=1: een telefoon heeft de code opgehaald)
verlopenreden=…te laat, geweigerd, ingetrokken of gebruikt: nieuwe code
okversie=2, omgeving, server, sessie, pc, verloopt, profielregels, token=, handtekening= (laatste)het ondertekende profiel

Profielregels (ondertekend, Nederlandse sleutels op de lijn): soort=zakelijk|prive, naam, weergavenaam, kleur, taal, item= (bestanden), recent=, instellingssleutels (hieronder), beheer= (beheerbeleid, alleen ondertekend), beleid-scherm= (schermbeleid, alleen ondertekend), en na een login met wachtwoord offline-dagen=, offline-token=, account=.

Sleutels voor het terugschrijven van instellingen (euzos_profile::writeback::KEYS): kleur, taal, balk (boven|onder), balk-verbergen, taskbar-hide-maximized (on|off), welkom, schermtoetsenbord (automatisch|altijd|nooit), toetsenbord (indeling), toetsenbord-tik, thema (donker|licht|automatisch), touchpad-natuurlijk, touchpad-tikken, touchpad-rechtsklik, touchpad-snelheid, touchpad-aanwijzer, muis-snelheid, muis-omwisselen, muis-wiel-omkeren, pointer-size, pointer-hide, aanraak-vegen, aanraak-doorrollen, aanraak-lang-drukken, screensaver, screensaver-wachttijd, screensaver-animatie, vergrendelen, recent, browser-zoekmachine, browser-favoriet, browser-engine, browser-site, mail-account. Aan/uit-waarden zijn aan|uit.

Antwoord op het terugschrijven (writeback::parse_response): 200 ok = opgeslagen; 401 = token weg; 400/413 = afgewezen (reden op regel 2); 404 = server te oud; anders opnieuw proberen.

Statusantwoord: ok (met verloopt=) of afgemeld (met reden=).

Regel met het beheerbeleid: beheer=console,sshd,log,profiel (elke deelverzameling; lokaal telt als profiel; leeg of geen = niets).

Ondertekende constanten: EUZOS-profiel-v2\0 (domein van de profielhandtekening), EUZOS-koppelcode-v1\0 (koppelcode).

Zie ook