Bestandsserver
FAQ › EUZOS Server › Bestandsserver · English
Wat is het?
De Bestandsserver (pakket-id files) geeft een bedrijf gedeelde mappen ("shares") op zijn EUZOS Server. Voorlopig krijgen alleen EUZOS-pc's toegang: op de pc staan de shares in de Verkenner onder Bedrijfsbestanden. Het ontwerp houdt de kern (opslag en rechten) los van het protocol, zodat er later een WebDAV- of SMB-gateway voor Windows en Mac bij kan (docs/PACKAGE-FILESERVER.md, "Later").
- Wie wat mag stel je per share in:
readofwritevoor een account, een lokale groep, alle leden van de organisatie (org:members) of de beheerders ervan (org:admins). Accounts en organisatie komen van de profielserver; de bestandsserver bewaart geen wachtwoorden. - Quotum per share; een prullenbak per share (30 dagen).
- Opslag: een eigen, versleuteld vak op partitie 2 van de server.
- Protocol: een eigen EUZOS-protocol over TLS op TCP 8447, met de apparaatsleutel van de pc plus het ingelogde account (hetzelfde vertrouwensmodel als Server Admin). De poort is dicht tot het pakket aan staat.
Het pakket heeft Werkplekbeheer nodig op dezelfde server (de sleutels en de aanmelding bij de profielserver).
Hoe doe ik…?
Hoe installeer ik het?
Kies File server in het serverinstallatieprogramma (stap Pakketten), of later: zet \EOS\FW\FILES.TXT met de regel role=files op de server en start opnieuw. Bij de eerste start maakt de server FSKEY.TXT (de sleutel van de opslag), het vak op partitie 2 (de helft van de vrije ruimte, of size-gib= uit FILES.TXT) en zet hij TCP 8447 open voor het LAN.
Hoe zet ik het aan of uit?
serveradmin <server> package-on files zet 8447 open voor het LAN en start het
serveradmin <server> package-off files confirm sluit 8447; de gegevens blijven
Hoe maak ik een share en geef ik mensen toegang?
serveradmin <server> files share-add Finance 200
serveradmin <server> files group-add finance anna@bedrijf.nl
serveradmin <server> files grant Finance group:finance write
serveradmin <server> files grant Finance org:admins read
serveradmin <server> files shares, gebruik, rechten, groepen
grant <share> <principal> none haalt een recht weg. share-quota <naam> <GiB> wijzigt het quotum; share-remove <naam> confirm verwijdert een lege share; trash-empty <share> confirm leegt de prullenbak.
Hoe komt een gebruiker bij de bestanden?
Op een EUZOS-pc die bij de profielserver geregistreerd is (pckey create, daarna pc-register door de beheerder) en ingelogd met een account van de organisatie: open Bestanden, dan Bedrijfsbestanden in de zijbalk. Daar staan de shares die het account mag zien; in een share werkt alles zoals in Mijn bestanden (openen, opslaan, nieuwe map, hernoemen, verwijderen, kopiëren en verplaatsen, ook van en naar een stick of OneDrive).
Waarom zegt de pc "Geen bedrijfsbestanden voor dit account"?
Het account is geen lid van de organisatie van de pc (beheerder, gekoppeld Microsoft-account of een e-maildomein ervan), geen enkele share geeft het rechten, of geen bestandsserver van de organisatie is bereikbaar (pakket uit, poort dicht, server uit).
Waar blijven verwijderde bestanden?
In de prullenbak van de share (trash/<share> in het vak), met wie het verwijderde en wanneer. Wat ouder is dan 30 dagen gaat definitief weg.
Details
- Het toegangsbewijs komt van de profielserver (
POST /api/workplace/v1/files-proof?token=<pc-token>, inhoudpc-key=<hex>): account, organisatie, rol (member/admin), pc-sleutel, 10 minuten, ondertekend met de sleutel van de profielserver. Daarbij krijgt de pc ook de bestandsservers van de organisatie (id, naam, LAN-adres, TLS-pin). - De pc verbindt met
<LAN-adres>:8447via TLS 1.3 met de vastgepinde sleutel van de werkplekserver, zegthello(krijgt een eenmalige uitdaging) enlogin(het bewijs plus een login ondertekend met de apparaatsleutel, gebonden aan die server en uitdaging). Daarna veel verzoeken over dezelfde verbinding. - Frames: 4 bytes lengte + kopregels, 4 bytes lengte + gegevens (kop ≤ 8 KiB, gegevens ≤ 1 MiB). Lezen gaat in stukken van hoogstens 1 MiB; schrijven in stukken, en het bestand verschijnt pas aan het eind (atomair).
- Veilige paden: elke naam wordt gecontroleerd (geen
..,.,/,\, NUL of stuurtekens, hoogstens 255 bytes, hoogstens 30 diep) voordat hij bij de opslag komt. - Grenzen van de MVP: bestanden tot 64 MiB, 4096 namen per map, 64 shares, 64 groepen van 512 leden.
Naslag
Beheeractie files (Server Admin)
| Subopdracht | Wat het doet |
|---|---|
(geen) of usage | toestand, vak, shares met gebruik, quotum en rechten, groepen, verkeer |
share-add <naam> [<GiB>] | nieuwe share (standaard 10 GiB) |
share-quota <naam> <GiB> | quotum wijzigen |
share-remove <naam> confirm | een lege share verwijderen |
grant <share> <principal> read|write|none | een recht zetten of weghalen |
group-add <groep> <e-mail>, group-remove <groep> <e-mail> | lokale groepen |
trash-empty <share> confirm | de prullenbak van een share legen |
Principals: account:<e-mail> (of alleen het adres), group:<naam>, org:members, org:admins. Namen van shares en groepen: 1-40 tekens uit A-Z a-z 0-9 . _ -, niet beginnend met ..
Protocolbewerkingen (TCP 8447)
hello, login, shares, list, info, read, write-begin, write-data, write-end, write-abort, mkdir, rename, delete, trash, restore, bye. Redencodes: invalid, not_logged_in, expired, proof_signature, pc_signature, wrong_environment, other_organization, other_server, wrong_pc, challenge, no_access, read_only, not_found, exists, not_empty, quota_full, too_large, busy, package_off, storage, not_ready.
Bestanden
| Bestand | Wat |
|---|---|
\EOS\FW\FILES.TXT | role=files, optioneel size-gib=<n> (alleen eerste start), package=off |
\EOS\FW\FSKEY.TXT | 64 hex: de sleutel van het versleutelde vak (geheim; gemaakt bij de eerste start) |
partitie 2, vak EUZOS-FILES-AREA (soort 3) | config/SHARES.TXT, shares/<share>/…, trash/<share>/… |
Console
files toont de toestand (alleen bekijken, ook op een productieserver).
Code
| Onderdeel | Rol |
|---|---|
libs/fileserver (euzos_fileserver) | de kern: store (elke bewerking met rechten, quotum, prullenbak), path, config, trash, role, auth, wire (getest) |
kernel/src/server/files.rs | de serverkant (rol, vak, luisteraar, bewerkingen, beheer) |
kernel/src/company_files.rs, kernel/src/explorer/source.rs | de client en de Verkenner-bron op de pc |
server/profile/src/files_proof.rs | het toegangsbewijs op de profielserver |
Zie ook
- docs/PACKAGE-FILESERVER.md
- Pakketten, Server Admin, Netwerk en firewall
- Verkenner
EUZOS