Air a thoirt a-steach systemd-home gus clàran dachaigh so-ghiùlain a riaghladh

Lennart bàrdachd toirt a-steach (PDF) aig co-labhairt All Systems Go 2019, pàirt ùr de mhanaidsear an t-siostaim systemd - siostam-dhachaigh, ag amas air clàran dachaigh luchd-cleachdaidh a dhèanamh so-ghiùlain agus air leth bho shuidheachaidhean an t-siostaim. Is e prìomh bheachd a ’phròiseict àrainneachdan fèin-sheasmhach a chruthachadh airson dàta luchd-cleachdaidh a ghabhas gluasad eadar diofar shiostaman gun a bhith draghail mu shioncronachadh aithnichear agus dìomhaireachd.

Tha àrainneachd an eòlaire dachaigh a’ tighinn ann an cruth faidhle ìomhaigh air a chuir suas, anns a bheil an dàta air a chrioptachadh. Tha teisteanasan cleachdaiche ceangailte ris an eòlaire dachaigh seach roghainnean an t-siostaim - an àite /etc/passwd agus /etc/shadow phròifil ann an cruth JSON, air a stòradh san eòlaire ~/.identity. Anns a’ phròifil tha na crìochan a tha riatanach airson obair an neach-cleachdaidh, a’ toirt a-steach fiosrachadh mun ainm, hash facal-faire, iuchraichean crioptachaidh, cuotathan, agus goireasan ainmichte. Faodar a’ phròifil a dhearbhadh le ainm-sgrìobhte didseatach air a stòradh air tòcan Yubikey taobh a-muigh.

Faodaidh paramadairean cuideachd fiosrachadh a bharrachd a thoirt a-steach leithid iuchraichean SSH, dàta dearbhaidh biometric, ìomhaigh, post-d, seòladh, sòn ùine, cànan, crìochan pròiseas is cuimhne, brataichean sreap a bharrachd (nodev, noexec, nosuid), fiosrachadh mu luchd-cleachdaidh cleachdte IMAP / frithealaichean SMTP , fiosrachadh mu bhith a’ comasachadh smachdan phàrantan, roghainnean cùl-taic, msaa. Tha API air a thoirt seachad gus paramadairean iarraidh agus parsadh Varlink.

Tha sònrachadh agus giullachd UID/GID air a dhèanamh gu dinamach air gach siostam ionadail ris a bheil an eòlaire dachaigh ceangailte. A’ cleachdadh an t-siostam a thathar a’ moladh, faodaidh an neach-cleachdaidh an eòlaire dachaigh aige a chumail leis, mar eisimpleir air draibhear Flash, agus àrainneachd obrach fhaighinn air coimpiutair sam bith gun a bhith a’ cruthachadh cunntas gu soilleir air (làthaireachd faidhle le ìomhaigh an eòlaire dachaigh a’ leantainn gu synthesis an neach-cleachdaidh).

Thathas a’ moladh fo-shiostam LUKS2 a chleachdadh airson crioptachadh dàta, ach tha systemd-homed cuideachd a’ ceadachadh backends eile a chleachdadh, mar eisimpleir, airson eòlairean neo-chrioptaichte, roinnean lìonra Btrfs, Fscrypt agus CIFS. Gus clàran so-ghiùlain a riaghladh, thathas a’ moladh goireas homectl, a leigeas leat ìomhaighean de chlàran dachaigh a chruthachadh agus a chuir an gnìomh, a bharrachd air am meud atharrachadh agus facal-faire a shuidheachadh.

Aig ìre an t-siostam, tha obair air a dhèanamh cinnteach leis na pàirtean a leanas:

  • systemd-homed.service - a 'riaghladh an eòlaire dachaigh agus a' fighe a-steach clàran JSON gu dìreach ann an ìomhaighean eòlaire dachaigh;
  • pam_systemd - a 'pròiseas paramadairean bho phròifil JSON nuair a bhios an neach-cleachdaidh a' logadh a-steach agus gan cur an sàs ann an co-theacsa an t-seisein gnìomhaichte (a 'dèanamh dearbhadh, a' rèiteachadh caochladairean àrainneachd, msaa);
  • systemd-logind.service - pròiseas paramadairean bho phròifil JSON nuair a bhios an neach-cleachdaidh a’ logadh a-steach, a’ cur an sàs diofar shuidheachaidhean riaghlaidh ghoireasan agus a’ suidheachadh chrìochan;
  • nss-systemd - modal NSS airson glibc, a ’co-chur chlàran clasaigeach NSS stèidhichte air ìomhaigh JSON, a’ toirt seachad co-chòrdalachd air ais le API giollachd cleachdaiche UNIX (/ etc / facal-faire);
  • PID 1 - a’ cruthachadh luchd-cleachdaidh gu dinamach (air an co-chur an coimeas ri cleachdadh stiùireadh DynamicUser ann an aonadan) agus gan dèanamh follaiseach don chòrr den t-siostam;
  • systemd-userdbd.service - ag eadar-theangachadh cunntasan UNIX/glibc NSS gu clàran JSON agus a’ toirt seachad API Varlink aonaichte airson a bhith a’ ceasnachadh agus ag aithris thairis air clàran.

Tha buannachdan an t-siostaim a tha san amharc a’ toirt a-steach comas luchd-cleachdaidh a riaghladh nuair a bhios iad a’ cur suas an eòlaire / msaa ann am modh leughaidh a-mhàin, às aonais an fheum air aithnichearan a shioncronachadh (UID/GID) eadar siostaman, neo-eisimeileachd luchd-cleachdaidh bho choimpiutair sònraichte, a’ bacadh dàta luchd-cleachdaidh. rè modh cadail, cleachdadh crioptachadh agus dòighean dearbhaidh ùr-nodha. Thathas an dùil gun tèid systemd-homed a thoirt a-steach do phrìomh shruth siostam ann an sgaoileadh 244 no 245.

Eisimpleir pròifil cleachdaiche JSON:

"autoLogin" : fìor,
"ceangaltach" : {
«15e19cd24e004b949ddaac60c74aa165» : {
"fileSystemType" : "ext4"
«fileSystemUUID» : «758e88c8-5851-4a2a-b98f-e7474279c111»,
"gid": 60232,
"homeDirectory" : "/dachaigh/deuchainn",
"imagePath" : "/home/test.home",
"luksCipher" : "aes",
"luksCipherMode" : "xts-plain64",
«luksUUID» : «e63581ba-79fa-4226-b9de-1888393f7573»,
"luksVolumeKeySize": 32,
«partitionUUID» : «41f9ce04-c927-4b74-a981-c669f93eb4dc»,
"stòradh" : "luks",
"uid": 60233
}
},
"disposition" : "cunbhalach",
"Co-èigneachadh PoileasaidhPassword" : meallta,
"Atharrachadh mu dheireadhUSec": 1565951024279735,
"ball" : [
"cuibhle"
],
"sochair" : {
"hashedPassword" : [
«$6$WHBKvAFFT9jKPA4k$OPY4D5…/»
]},
"ainm-sgrìobhte": [
{
"dàta" : "LU/HeVrPZSzi3M3J...==",
"iuchair" : " —— TÒRR IACH PHOBAL ——\nMCowBQADK2VwAy…=\n—— CRÌOCH IOCHAIR PHOBLACH——\n"
}
],
"userName" : "deuchainn",
"inbhe" : {
«15e19cf24e004b949dfaac60c74aa165» : {
"Counter Dearbhaidh math": 16,
"Dearbhadh Dearbhadh mu dheireadh": 1566309343044322,
"ìreLimitBeginUSec": 1566309342341723,
"ReatLimitCount": 1,
"state" : "neo-ghnìomhach",
"seirbheis" : "io.systemd.Home",
"Meud diosc": 161218667776 XNUMX,
"DiskCeiling": 191371729408,
"làr diosc": 5242780,
"soidhnichte gu h-ionadail" : fìor
}
}

Source: fosgailtenet.ru

Cuir beachd ann