Lennart Poettering
La hejma dosierujo-medio venas en la formo de muntita bilddosiero, kies datumoj estas ĉifritaj. Uzantaj akreditaĵoj estas ligitaj al la hejma dosierujo prefere ol sistemaj agordoj - anstataŭ /etc/passwd kaj /etc/shadow
Parametroj ankaŭ povas inkludi kromajn informojn kiel ekzemple SSH-ŝlosiloj, biometrikaj aŭtentikigdatenoj, bildon, retpoŝton, adreson, horzonon, lingvon, procezon kaj memorlimojn, kromajn montoflagojn (nodev, noexec, nosuid), informojn pri uzitaj uzantaj IMAP/SMTP-serviloj , informoj pri ebligado de gepatraj kontroloj, sekurkopioj, ktp. API estas provizita por peti kaj analizi parametrojn
UID/GID-asigno kaj prilaborado estas faritaj dinamike sur ĉiu loka sistemo al kiu la hejma dosierujo estas konektita. Uzante la proponitan sistemon, la uzanto povas konservi sian hejman dosierujon ĉe li, ekzemple en Flash drive, kaj akiri labormedion en iu ajn komputilo sen eksplicite krei konton sur ĝi (la ĉeesto de dosiero kun la bildo de la hejma dosierujo. kondukas al sintezo de la uzanto).
Estas proponite uzi la LUKS2-subsistemon por datumĉifrado, sed systemd-homed ankaŭ permesas la uzon de aliaj backends, ekzemple, por neĉifritaj dosierujoj, Btrfs, Fscrypt kaj CIFS-retaj sekcioj. Por administri porteblajn dosierujojn, la utileco homectl estas proponita, kiu permesas krei kaj aktivigi bildojn de hejmaj dosierujoj, kaj ankaŭ ŝanĝi ilian grandecon kaj agordi pasvorton.
Sur la sistemnivelo, laboro estas certigita de la sekvaj komponentoj:
- systemd-homed.service - administras la hejman dosierujon kaj enigas JSON-rekordojn rekte en hejmajn dosierujojn;
- pam_systemd - prilaboras parametrojn de la JSON-profilo kiam la uzanto ensalutas kaj aplikas ilin en la kunteksto de la aktivigita sesio (faras aŭtentikigon, agordas mediajn variablojn ktp.);
- systemd-logind.service - prilaboras parametrojn de la JSON-profilo kiam la uzanto ensalutas, aplikas diversajn agordojn pri administrado de rimedoj kaj fiksas limojn;
- nss-systemd - NSS-modulo por glibc, sintezas klasikajn NSS-rekordojn bazitajn sur JSON-profilo, disponigante malantaŭan kongruon kun la UNIX-uzant-pretiga API (/etc/password);
- PID 1 - dinamike kreas uzantojn (sintezitajn per analogio kun la uzo de la direktivo DynamicUser en unuoj) kaj igas ilin videblaj al la resto de la sistemo;
- systemd-userdbd.service - tradukas UNIX/glibc NSS-kontojn en JSON-rekordojn kaj disponigas unuigitan Varlink API por pridemandi kaj ripetadi super rekordoj.
La avantaĝoj de la proponita sistemo inkluzivas la kapablon administri uzantojn dum muntado de la dosierujo /etc en nurlegebla reĝimo, la foresto de la bezono sinkronigi identigilojn (UID/GID) inter sistemoj, sendependeco de uzanto de specifa komputilo, blokado de uzantdatenoj. dum dormreĝimo, la uzo de ĉifrado kaj modernaj aŭtentikigmetodoj. Systemd-homed estas planita esti inkludita en systemd ĉeftendenco en eldono 244 aŭ 245.
Ekzemplo de uzantprofilo JSON:
"autoLogin": vera,
"binding" : {
«15e19cd24e004b949ddaac60c74aa165» : {
"fileSystemType" : "ext4"
«fileSystemUUID» : «758e88c8-5851-4a2a-b98f-e7474279c111»,
"gid": 60232,
"homeDirectory" : "/hejmo/testo",
"imagePath" : "/home/test.home",
"luksCipher" : "aes",
"luksCipherMode" : "xts-plain64",
«luksUUID» : «e63581ba-79fa-4226-b9de-1888393f7573»,
"luksVolumeKeySize" : 32,
«partitionUUID» : «41f9ce04-c927-4b74-a981-c669f93eb4dc»,
"storage" : "luks",
"uid" : 60233
}
},
"disposition" : "regula",
"enforcePasswordPolicy" : malvera,
"lastChangeUSec" : 1565951024279735,
"membroDe" : [
"rado"
],
"privilegia" : {
"hashedPassword" : [
«$6$WHBKvAFFT9jKPA4k$OPY4D5…/»
] },
"signaturo" : [
{
"datenoj" : "LU/HeVrPZSzi3M3J...==",
"key" : "——KOMENCI PUBLIKAN Ŝlosilon——\nMCowBQADK2VwAy...=\n——FINI PUBLIKAN Ŝlosilon——\n"
}
],
"userName" : "testo",
"statuso" : {
«15e19cf24e004b949dfaac60c74aa165» : {
"bona AuthenticationCounter": 16,
"lastGoodAuthenticationUSec" : 1566309343044322,
"rateLimitBeginUSec" : 1566309342341723,
"rateLimitCount" : 1,
"state" : "neaktiva",
"servo" : "io.systemd.Hejmo",
"DiskSize": 161218667776,
"diskoplafono": 191371729408,
"diskFloor": 5242780,
"signedLocally" : vera
}
}
fonto: opennet.ru