Enkondukita systemd-homed por administri porteblajn hejmajn adresarojn

Lennart Poettering enkondukita (PDF) ĉe la All Systems Go 2019-konferenco, nova komponanto de la sistemmanaĝero systemd - systemd-homed, celita igi uzantajn hejmajn dosierujojn porteblaj kaj apartaj de sistemaj agordoj. La ĉefa ideo de la projekto estas krei memsufiĉajn mediojn por uzant-datumoj, kiuj povas esti translokigitaj inter malsamaj sistemoj sen zorgi pri identigilo-sinkronigado kaj konfidenco.

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 profilon en formato JSON, konservita en la ~/.identity dosierujo. La profilo enhavas la parametrojn necesajn por la laboro de la uzanto, inkluzive de informoj pri la nomo, pasvorta hash, ĉifradaj ŝlosiloj, kvotoj kaj asignitaj rimedoj. La profilo povas esti atestita per cifereca subskribo stokita sur ekstera Yubikey-ĵetono.

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 Varlink.

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

Aldoni komenton