CLI van de profielserver
FAQ › Profielserver › CLI · English
Wat is het?
De profielserver is één programma, euzos-profielserver (crate euzos-profileserver, bron server/profile/src/main.rs). Hetzelfde programma draait de server (start) én beheert hem vanaf de opdrachtregel: accounts, beheerders, telefoons, pc-sessies, de kluis, meldingen, de appcatalogus, downloadsleutels en -tokens, offline-beleid, organisaties, werkplekservers en geregistreerde pc's. Elke opdracht werkt rechtstreeks op de SQLite-database die in het configuratiebestand staat; de server zelf hoeft daarvoor niet te stoppen.
Het programma houdt zijn Nederlandse naam euzos-profielserver (het pad op de VPS en de systemd-unit gebruiken die). De opdrachten en vlaggen zijn Engels; de oude Nederlandse opdrachtnamen en vlaggen werken nog één release als verborgen aliassen.
Daarnaast is er een tweede, veel kleiner programma voor de downloadserver, euzos-download (server/download), met drie eigen opdrachten (zie hieronder).
Hoe doe ik…?
…een CLI-opdracht op de server uitvoeren?
euzos-profielserver [--config <bestand>] <opdracht> [argumenten]
Het configuratiebestand komt uit --config <bestand>, anders uit de omgevingsvariabele EUZOS_PROFILE_CONFIG (de oude naam EUZOS_PROFIEL_CONFIG wordt nog gelezen). Op de VPS start de systemd-unit de server als /opt/euzos-profiel/huidig/euzos-profielserver --config /etc/euzos-profiel/profiel.conf start; CLI-opdrachten voer je op dezelfde manier uit, als de dienstgebruiker (sudo -u euzos-profiel …), zodat ze dezelfde database en sleutels gebruiken (docs/PROFILESERVER-SETUP.md). --help of -h (of geen opdracht) toont de gebruikstekst.
…een account aanmaken?
user-create <email> [--first-name V] [--last-name A] [--city W] [--display-name "Naam"] [--language nl|en] [--password-stdin]. Je wordt twee keer om het wachtwoord gevraagd (of één regel op stdin met --password-stdin); minstens 10 tekens. Het account krijgt de twee profielen Werk of school en Privé, status niet_geverifieerd, en een mail met link en code (24 uur geldig). Inloggen kan pas als het adres bevestigd is. In noodgevallen (geen mail) bevestigt user-verify <email> met de hand; dat komt in het beheerlog.
…een account blokkeren, deblokkeren of verwijderen?
user-block <email>: niet meer inloggen; meldt alle pc's af en trekt alle telefoons in.user-unblock <email>: status weeractief; telefoons moeten opnieuw gekoppeld worden.user-delete <email> [--yes <email>]: AVG-verwijdering van alles (pc's, telefoons, kluis inclusief opslagsleutel, meldingen, profielen, instellingen, verificaties, mailtellers). Je moet het adres nog eens typen, of het komt uit--yes. Het beheerlog houdt alleen een hash van het adres.
…een wachtwoord opnieuw instellen?
password <email> [--password-stdin] [--revoke-devices]: een nieuw wachtwoord; alle pc's worden afgemeld, en met --revoke-devices worden ook alle telefoons ingetrokken.
…iemand beheerder van de beheerpagina maken?
admin-create <email> (het account moet actief zijn). De beheerder logt dan in op https://<beheerdomein>/beheer met e-mailadres en wachtwoord en bevestigt in de EUZOS-app op een gekoppelde telefoon. admin-delete <email> haalt de rol weg, admins toont de beheerders en hoeveel telefoons ze gekoppeld hebben. Zie Beheerpagina.
…beperken welke beheeropdrachten een gebruiker op een pc mag uitvoeren?
admin-policy <email> [<beleid> | geen | --delete]. Het beleid is een met komma's gescheiden deel van console,sshd,log,profiel, of geen. Het komt ondertekend in het profiel van die gebruiker (regel beheer=). Zonder beleidsargument toont de opdracht het huidige beleid; --delete haalt het weg (de pc volgt dan zijn build: een testbuild staat alles toe, productie niets). Wijzigen meldt de pc's van het account af.
…een app (Chromium) in de catalogus zetten?
app-set <naam> --version <n> --size <bytes> --sha256 <hex> --url <https://…/NAAM.APP> [--url <spiegel>]… [--package <https://…>]…. De versie komt uit de .sig, grootte en SHA-256 uit het pakket (tools/chromium/install.sh --create toont ze). --url is de ondertekende beschrijving (met de .sig ernaast), --package het pakket zelf (zonder: naast de beschrijving); de eerste URL wordt eerst geprobeerd, de rest zijn spiegels. apps toont de catalogus, app-delete <naam> haalt een app weg. Zie Apps en downloads.
…downloadtokens instellen?
Eén keer per omgeving: download-key-create maakt de downloadsleutel in het bestand uit download_key_file (rechten 0600; weigert te overschrijven) en toont de regel voor de sleutellijst van de downloadserver. download-key toont de sleutel-id (kid) en die regel opnieuw. download-token <app> <versie> maakt een token (2 uur geldig) voor beheerwerk en tests; dat komt in het beheerlog.
…het beleid voor offline inloggen instellen?
offline-policy toont de regels; offline-policy <*|@domein> <0..30> zet het aantal dagen voor deze hele omgeving (*) of één organisatie (@domein); 0 betekent niet toegestaan; zonder regel is de standaard 14 dagen. offline-policy-delete <*|@domein> haalt een regel weg, offline-revoke <email> trekt elk offline-kluisje van een account in, offline-tokens toont de geldige. Zie Pc-login en docs/OFFLINE-LOGIN.md.
…een organisatie instellen voor inloggen met Microsoft (Entra)?
org-create <naam>, dan org-tenant <naam> <tenant-id> (de GUID uit Entra, Overzicht) en org-domain <naam> <domein> voor elk toegestaan e-maildomein. orgs toont ze. Zie Organisaties en docs/WORK-LOGIN.md.
…een werkplekserver of een EUZOS-pc registreren voor Server Admin?
- Werkplekserver: normaal registreert het serverinstallatieprogramma hem zelf (
POST /api/workplace/v1/register). Met de hand:workplace-register <naam> <sleutel> [--network <ip>[,<ip>]]met de sleutel van 64 hex dieworkplaceop de werkplekserver toont. - Pc:
pc-register <naam> <sleutel> <org>met de apparaatsleutel uitpckeyop de pc. - Beheerrechten:
org-admin <org> <email> [--off].
Vergelijk de vingerafdruk die de opdracht toont met die op de server/pc.
Details
- Alles wordt gelogd. Opdrachten die iets veranderen, schrijven een regel in het beheerlog (
admin-logtoont het). De actieteksten in dat log zijn opgeslagen gegevens en blijven Nederlands (gebruiker-maak,beheer …,app-zet,werkplek-registreer, …). - Accounts zijn e-mailadressen. Elk
<email>wordt genormaliseerd; de gebruikersnaam is altijd het adres. - Mailgrenzen. Verificatiemails: 1 per minuut en 5 per dag per adres.
- Wachtwoorden worden zonder echo gelezen (twee keer gevraagd) of van stdin; 10 tot 200 tekens.
- Oude namen. Oude Nederlandse opdrachten (
gebruiker-maak,kluis,werkplekken, …) en vlaggen (--voornaam,--ja,--wis,--uit, …) worden omgezet naar de Engelse voordat de opdracht draait (tabellenLEGACY_COMMANDSenLEGACY_FLAGSinmain.rs, plus kleine tabellen inorg.rs,offline.rs,workplace.rs,workplace_admin.rs). - Waarden blijven Nederlands. Sommige argumenten zijn draadwaarden en typ je zo: het beleidswoord
geen, de delenconsole,sshd,log,profiel, de statusnamen (actief,niet_geverifieerd,geblokkeerd), de omgevingsnamen (lokaal,sandbox,productie).
Over namen. Configuratiesleutels krijgen Engelse namen; de Nederlandse worden nog geaccepteerd (zie de configuratietabel hieronder). Deze pagina toont de namen die de code nu gebruikt.
Naslag
Opdrachten van euzos-profielserver
Algemene optie: --config <bestand> (of EUZOS_PROFILE_CONFIG).
Server
| Opdracht | Argumenten | Wat het doet | Uitvoer | Oude naam |
|---|---|---|---|---|
start | — | Start de HTTP(S)-server (tokio, hoogstens 64 blokkerende threads). Lokaal kan hij zelf TLS doen (tls_chain/tls_key); in sandbox/productie luistert hij op localhost achter Caddy. | Startregel op stderr: omgeving, adres, domein, sleutel-id, aantal gebruikers, hoe mail verstuurd wordt (nooit geheimen). | — |
key | — | Opent de server (maakt de ondertekensleutel bij het eerste gebruik). | Omgeving, domein, sleutel-id, en de regels voor \EOS\FW\PROFIEL.TXT op een EUZOS-pc, nog in de oude Nederlandse vorm (server=, omgeving=, sleutel= publieke sleutel); de pc leest die net zo goed als de Engelse PROFILE.TXT-sleutels (environment=, key=). | sleutel |
Accounts
| Opdracht | Argumenten | Wat het doet | Uitvoer | Oude naam |
|---|---|---|---|---|
user-create | <email> [--first-name V] [--last-name A] [--city W] [--display-name "Naam"] [--language nl|en] [--password-stdin] | Maakt een account met de profielen Werk of school en Privé, status niet_geverifieerd, verstuurt link + code. Weergavenaam: voornaam + achternaam, anders --display-name, anders het deel van het adres vóór de @. | Bevestiging; of de mail verstuurd is. | gebruiker-maak |
user-email | <huidig adres of oude naam> <nieuw adres> | Vraagt een nieuw adres aan (moet per mail bevestigd worden). Voor een actief of geblokkeerd account blijft het oude adres tot dan geldig; een onbevestigd account wordt meteen hernoemd. | Wat er gebeurde. | gebruiker-email |
user-verify | <email> | Noodgeval: bevestigt een onbevestigd account, of voert een openstaande adreswijziging uit, zonder mail. Gelogd. | Bevestiging. | gebruiker-verifieer |
user-block | <email> | Blokkeert het account; meldt alle pc's af, trekt alle telefoons in. | Aantallen pc's/telefoons. | gebruiker-blokkeer |
user-unblock | <email> | Weer actief (alleen als geblokkeerd). | Bevestiging. | gebruiker-deblokkeer |
user-delete | <email> [--yes <email>] | AVG-verwijdering van het hele account (gdpr::user_delete). Vraagt het adres opnieuw, tenzij --yes overeenkomt. | Aantallen per soort gegevens; de adreshash die in het beheerlog komt. | gebruiker-wis |
password | <email> [--password-stdin] [--revoke-devices] | Nieuw wachtwoord; meldt alle pc's af; trekt eventueel alle telefoons in. | Aantallen. | wachtwoord |
users | — | Alle accounts. | Kolommen: e-mailadres, status, profielen, apparaten; openstaand nieuw adres. | gebruikers |
Beheerders en beheerbeleid
| Opdracht | Argumenten | Wat het doet | Uitvoer | Oude naam |
|---|---|---|---|---|
admin-policy | <email> [<beleid> | geen | --delete] | Toont/zet/verwijdert het ondertekende beleid voor beheeropdrachten (console,sshd,log,profiel,ports,device of een deel, of geen; device: de achtergrond van het inlogscherm). Zetten meldt de pc's van het account af. | Huidig of nieuw beleid. | beheer |
admin-log | — | Toont het beheerlog. | datum wie actie per regel. | beheerlog |
admin-create | <email> | Geeft een actief account de beheerdersrol (beheerder) voor de beheerpagina. | Bevestiging, aantal gekoppelde telefoons, inloghint. | beheerder-maak |
admin-delete | <email> | Haalt de beheerdersrol weg (open sessies stoppen bij de volgende klik). | Bevestiging. | beheerder-wis |
admins | — | Accounts met de beheerdersrol. | Adres, status, gekoppelde telefoons. | beheerders |
Telefoons en pc-sessies
| Opdracht | Argumenten | Wat het doet | Uitvoer | Oude naam |
|---|---|---|---|---|
devices | [<email>] | Gekoppelde telefoons (alle, of van één account). | Apparaat-id, gebruiker, platform, naam, laatst gebruikt, status (active / revoked <datum>). | apparaten |
device-revoke | <apparaat-id> | Trekt een telefoon in; de pc's die ermee inlogden, worden afgemeld. | Bevestiging of fout. | apparaat-intrek |
pc-sessions | — | Ingelogde pc's. | ref, profiel, pc-IP, apparaat (of password / web page), sinds, verloopt. | pc-sessies |
Meldingen en kluis (AVG)
| Opdracht | Argumenten | Wat het doet | Uitvoer | Oude naam |
|---|---|---|---|---|
reports | — | Hoe vol de meldingendatabase is (DriverEnricher, BrowserFeedback). | Pad, MB in gebruik van de grens, apparaten, browsermeldingen (met schermafbeelding). Of "meldingen staan uit". | meldingen |
reports-delete | <email> | Verwijdert alle meldingen van een account. | Aantallen. | meldingen-wis |
vault | <email> | Wat er in de kluis van het account zit (nooit de inhoud), de bureaubladachtergronden (id en grootte, nooit de afbeelding) en het kluislog (90 dagen; desktop-background met stored, fetched, deleted). | profiel, soort, sleutel, gewijzigd; daarna het log. | kluis |
vault-delete | <email> | Verwijdert de hele kluis van het account, inclusief de opslagsleutel (de versleutelde profielmappen worden onleesbaar), en de bureaubladachtergronden (verzegeld met die sleutel). | Aantal verwijderde geheimen. | kluis-wis |
Appcatalogus en downloadtokens
| Opdracht | Argumenten | Wat het doet | Uitvoer | Oude naam |
|---|---|---|---|---|
apps | — | De appcatalogus (wat GET /api/apps teruggeeft). | Per app: versie, grootte, SHA-256, datum, URL's van de beschrijving, URL's van het pakket. | — |
app-set | <naam> --version <n> --size <bytes> --sha256 <hex> --url <https://…/NAAM.APP> [--url <spiegel>]… [--package <https://…>]… | Zet een app erin of vervangt hem (apps::App::check: hoogstens 4 URL's per soort, de beschrijving moet eindigen op /<NAAM>.APP). Waarschuwt als de versie omlaag gaat (pc's weigeren een lagere versie). | De catalogusregels van de app. | app-zet |
app-delete | <naam> | Haalt een app weg; pc's melden dan "niet beschikbaar". | Bevestiging. | app-wis |
download-key-create | — | Maakt de downloadsleutel (Ed25519) in download_key_file, rechten 0600, weigert als hij al bestaat. | Omgeving, kid, de regel voor het sleutelbestand van de downloadserver. | downloadsleutel-maak |
download-key | — | Leest de downloadsleutel. | Omgeving, kid, sleutelregel. | downloadsleutel |
download-token | <app> <versie> | Een downloadtoken (2 uur) voor beheerwerk en tests, account "beheer"; gelogd met zijn jti. | Het token op stdout; jti en verloopmoment op stderr. | downloadtoken |
Offline inloggen
| Opdracht | Argumenten | Wat het doet | Uitvoer | Oude naam |
|---|---|---|---|---|
offline-policy | [<*|@domein> <0..30>] | Zonder argumenten: toont de standaard (14 dagen) en de regels. Met: zet de dagen voor * (deze omgeving) of @domein (een organisatie); 0 = niet toegestaan. | De regels / de nieuwe regel. | offline-beleid |
offline-policy-delete | <*|@domein> | Verwijdert een regel. | Bevestiging. | offline-beleid-wis |
offline-revoke | <email> | Trekt alle offline-kluisjes van het account in (de pc wist zijn kluisje en meldt af als hij weer verbinding heeft). | Aantal ingetrokken. | offline-intrek |
offline-tokens | — | Geldige offline-kluisjes. | account, ref, profiel, sinds, verloopt. | — |
Organisaties (org.rs)
| Opdracht | Argumenten | Wat het doet | Uitvoer | Oude naam |
|---|---|---|---|---|
org-create | <naam> | Maakt een organisatie (inloggen met het Microsoft-werkaccount). | Hint om org-tenant en org-domain te doen. | org-maak |
org-tenant | <naam> <tenant-id> | --delete | Zet (of verwijdert) de Entra-tenant-id (een GUID). Zonder tenant kan inloggen met Microsoft niet. | De tenant. | — |
org-domain | <naam> <domein> [--delete] | Voegt een toegestaan e-maildomein toe (of haalt het weg). | De domeinlijst. | org-domein (vlag --wis) |
orgs | — | Alle organisaties. | naam, tenant, domeinen, aantal accounts. | — |
org-admin | <org> <email> [--off] | Maakt een account beheerder van een organisatie (werkplekken, Server Admin), of met --off niet meer. | Bevestiging. | org-beheerder (vlag --uit) |
Werkplekservers en geregistreerde pc's (workplace.rs, workplace_admin.rs)
| Opdracht | Argumenten | Wat het doet | Uitvoer | Oude naam |
|---|---|---|---|---|
workplace-register | <naam> <sleutel> [--network <ip>[,<ip>]] | Registreert een werkplekserver met zijn publieke sleutel (64 hex, getoond door workplace op de server). Naam 1–64 tekens. Zonder --network gebruikt de catalogus het publieke adres van het aanmelden. | Id en vingerafdruk; de netwerkinstelling. | werkplek-registreer (vlag --netwerk) |
workplaces | — | De werkplekservers. | id, naam, toestand (active, not active, never signed in, REVOKED), geïnstalleerd door, extern adres, lan, publiek, netwerk. | werkplekken |
workplace-revoke | <id> | Trekt een werkplekserver in: geen aanmelden, geen downloadtokens, niet in de catalogus. | Bevestiging. | werkplek-intrek |
workplace-network | <id> <ip>[,<ip>]|auto | Voor welke netwerken (hoogstens 16) de catalogus deze werkplekserver aan pc's noemt; auto = het publieke adres van zijn aanmelding. | Bevestiging. | werkplek-netwerk |
workplace-org | <id> <organisatie>|geen | Zet de organisatie van een werkplekserver (nodig voor Server Admin). | Bevestiging. | werkplek-org |
pc-register | <naam> <sleutel> <org> | Registreert de apparaatsleutel van een EUZOS-pc (64 hex, uit pckey op de pc) bij een organisatie. | Vingerafdruk om te vergelijken. | pc-registreer |
pcs | — | Geregistreerde pc's. | sleutel, naam, organisatie, REVOKED. | — |
pc-revoke | <sleutel> | Trekt een pc-sleutel in: geen beheerbewijzen meer voor die pc. | Bevestiging. | pc-intrek |
Oude vlaggen (verborgen)
| Oud | Nieuw |
|---|---|
--voornaam | --first-name |
--achternaam | --last-name |
--woonplaats | --city |
--weergavenaam | --display-name |
--taal | --language |
--wachtwoord-stdin | --password-stdin |
--ja | --yes |
--trek-apparaten-in | --revoke-devices |
--wis | --delete |
--versie | --version |
--grootte | --size |
--pakket | --package |
--netwerk | --network |
--uit | --off |
Configuratiebestand (profiel.conf)
Regels sleutel = waarde, # begint commentaar (config::read_lines). Relatieve paden zijn relatief aan het configuratiebestand. Elke sleutel kan ook als omgevingsvariabele EUZOS_PROFILE_<SLEUTEL> (hoofdletters), die wint van het bestand; het oude voorvoegsel EUZOS_PROFIEL_ (met de Engelse of de Nederlandse sleutel) wordt nog gelezen. Een geheim zelf (SMTP-wachtwoord, beheertoken, kluissleutel, Graph-geheim) wordt in het bestand geweigerd: het moet in een eigen bestand staan, genoemd door de *_file-sleutel. Voorbeelden: server/profile/deploy/lokaal.conf, sandbox.conf, productie.conf. Waarden staan hier nooit.
| Sleutel | Oude (Nederlandse) sleutel | Betekenis | Standaard |
|---|---|---|---|
environment | omgeving | lokaal, sandbox of productie (verplicht). | — |
address | adres | Waar de server luistert (ip:poort); in sandbox/productie alleen localhost (Caddy ervoor). | — (verplicht) |
domain | domein | Publieke host[:poort] zoals in de QR-code, de handtekening en de app. | — (verplicht) |
database | — | De SQLite-database. | — (verplicht) |
key | sleutel | Het bestand met de Ed25519-ondertekensleutel (bij de eerste start gemaakt, 0600). | — (verplicht) |
tls_chain | tls_keten | Alleen lokaal: bestanden van de certificaatketen (komma's). | geen |
tls_key | tls_sleutel | Alleen lokaal: het bestand met de privésleutel van TLS. | geen |
behind_proxy | achter_proxy | Het IP van de client uit X-Forwarded-For halen (alleen van localhost met het proxygeheim). | ja, behalve lokaal |
proxy_secret_file | proxy_geheim_bestand | Bestand met het geheim dat Caddy in X-Euzos-Proxy meestuurt. Verplicht achter Caddy. | geen |
admin_token_file | beheer_token_bestand | Bestand met de beheersleutel voor de agent-API's (DriverEnricher, BrowserFeedback). Zonder geven die API's 404. | geen |
vault_key_file | kluis_sleutel_bestand | Bestand met de serversleutel van de kluis. Zonder geeft de kluis 404. | geen |
download_key_file | download_sleutel_bestand | Het bestand met de downloadsleutel. Zonder geeft /api/apps/token 404. | geen |
download_base | download_basis | Basis-URL van de pakketserver (https://<host>/); URL's daaronder hebben een downloadtoken nodig. | geen |
reports | meldingen | Meldingen van DriverEnricher/BrowserFeedback bewaren. | ja in lokaal/sandbox, nee in productie |
reports_database | meldingen_database | Pad van de meldingendatabase. | meldingen.db naast de database |
reports_max_mb | meldingen_max_mb | Grens van de meldingendatabase in MB. | 1024 |
web_fallback | web_terugval | De webpagina met wachtwoord als terugval zonder de app. | ja |
allow_v1 | sta_v1_toe | Polls zonder pc-geheim (oud 8.5-formaat); alleen lokaal. | ja lokaal, anders nee |
registration_open | registratie_open | Gebruikers mogen zichzelf registreren (app, pc, webpagina). | nee |
pc_password | pc_wachtwoord | Op de pc inloggen met e-mail en wachtwoord (POST /api/pc/login). | ja |
admin_page | beheerpagina | De beheerpagina /beheer. | ja, behalve productie |
admin_domain | beheer_domein | Het eigen domein van de beheerpagina (bv. <internal-host>); moet anders zijn dan domain. | geen |
qr_duration | qr_duur | Seconden dat een QR-inlogsessie die geen telefoon ophaalde, geldig blijft. | 30 |
confirm_duration | bevestig_duur | Seconden dat een opgehaalde sessie op goedkeuring wacht. | 120 |
token_duration | token_duur | Seconden dat een pc-token (en het ondertekende profiel) geldig is. | 43200 (12 u) |
app_duration | app_duur | Seconden dat een app-aanmelding met wachtwoord (eza_) geldig is. | 900 |
web_duration | web_duur | Seconden dat een aanmelding op de webpagina geldig is. | 3600 |
apple_app_id | — | iOS universal links (TEAMID.eu.euzos.app). | geen |
android_package | android_pakket | Android app links: pakketnaam. | geen |
android_fingerprints | android_vingerafdrukken | Android app links: vingerafdrukken van het ondertekencertificaat (komma's). | geen |
mail | — | graph, smtp of map (map). Verplicht in sandbox/productie. | map lokaal |
mail_dir | mail_map | Map voor mail = map. | mail |
smtp_host | — | SMTP-host. | — |
smtp_port | smtp_poort | 587 (STARTTLS) of 465 (TLS). | 587 |
smtp_user | smtp_gebruiker | SMTP-gebruiker. | — |
smtp_password_file | smtp_wachtwoord_bestand | Bestand met het SMTP-wachtwoord. | — |
graph_tenant | — | Mail via Microsoft Graph: tenant-GUID. | — |
graph_client_id | — | Graph-appregistratie (productie moet een eigen gebruiken, nooit die van de sandbox). | — |
graph_secret_file | graph_geheim_bestand | Bestand met het Graph-clientgeheim, of… | — |
graph_certificate_file | graph_certificaat_bestand | …certificaatbestand, samen met… | — |
graph_key_file | graph_sleutel_bestand | …het bijbehorende sleutelbestand. | — |
sender | afzender | Afzender van de mails. | EUZOS <no-reply@euzos.eu> |
reply_to | antwoordadres | Antwoordadres. | geen |
entra_client_id | — | Client-id (GUID) van de EUZOS-Entra-app; zonder geeft /api/pc/entra 404. | geen |
entra_check_s | entra_controle_s | Hoe vaak (s) een Entra-account opnieuw bij Microsoft gecontroleerd wordt (minimaal 60). | 900 |
Waarden yes/no accepteren ook ja/nee, true/false, 1/0. Config::check weigert gevaarlijke combinaties: buiten lokaal moet de server op localhost luisteren, mag hij geen TLS zelf doen, geen v1-polls toestaan, en heeft hij achter Caddy proxy_secret_file nodig; productie mag de Graph-appregistratie van de sandbox niet gebruiken.
Omgevingsvariabelen
| Variabele | Betekenis |
|---|---|
EUZOS_PROFILE_CONFIG (oud EUZOS_PROFIEL_CONFIG) | Pad van het configuratiebestand als --config ontbreekt. |
EUZOS_PROFILE_<SLEUTEL> (oud EUZOS_PROFIEL_<SLEUTEL>, ook met de Nederlandse sleutel) | Overschrijft één configuratiesleutel, bv. EUZOS_PROFILE_DATABASE. |
De CLI van de downloadserver (euzos-download)
server/download/src/main.rs: de tokencontrole achter forward_auth van Caddy voor download.euzos.eu (zie API).
| Opdracht | Argumenten | Wat het doet | Oude naam |
|---|---|---|---|
start | [--address 127.0.0.1:8091] [--keys <bestand>] [--blocklist <bestand>] | Draait de controleserver op localhost. Standaard: sleutels /etc/euzos-download/sleutels.txt, zwarte lijst /etc/euzos-download/zwarte-lijst.txt; beide worden opnieuw gelezen als ze veranderen. | vlaggen --adres, --sleutels, --zwarte-lijst |
revoke | <jti> [commentaar] | Zet de jti van een token (32 hex in kleine letters, uit het log) op de zwarte lijst. | intrek |
keys | — | Toont de bekende sleutel-id's (kid). | sleutels |
Functies en modules
| Functie | Rol |
|---|---|
main::run | Leest --config, zet oude namen om (command, flag_name), laadt Config, verdeelt. |
main::start | De server: euzos_profileserver::router op axum (lokaal TLS via rustls). |
main::admins | admin-create, admin-delete, admins. |
config::Config::load, config::read_lines, config::english_key | Configuratiebestand + omgeving, oude sleutels (LEGACY_KEYS). |
gdpr::user_delete | user-delete. |
offline::cli | offline-policy*, offline-revoke, offline-tokens. |
org::cli | org-create, org-tenant, org-domain, orgs. |
workplace::cli | workplace-register, workplaces, workplace-revoke, workplace-network. |
workplace_admin::cli | workplace-org, pc-register, pcs, pc-revoke, org-admin. |
download_token::Key::create / read / token | Downloadsleutel en -tokens. |
apps::App::check / lines | Een catalogusregel controleren en tonen. |
Het Python-prototype
tools/profileserver/profileserver.py is het eerdere prototype uit mijlpaal 8.5 ("for now on the Mac", alleen de standaardbibliotheek van Python), met de opdrachten start, user-create, password en users. Het is niet de productieserver. Het wordt alleen nog gestart door make profileserver PKI=/pad (lokaal HTTPS op poort 8444, mijlpaal 8.5; de Makefile noemt het ook voor het maken van een gebruiker); de echte server draait met make profileserver-rs.
Zie ook
- API · Beheerpagina · Omgevingen en uitrol
- docs/PROFILESERVER-SETUP.md
- docs/PROFILE-PROTOCOL.md
- docs/ENGLISH.md ("Profile server CLI", "Database, configuration, CLI")
- docs/OFFLINE-LOGIN.md · docs/WORK-LOGIN.md · docs/WORKPLACE.md · docs/DOWNLOADSERVER.md
EUZOS