Nampiditra systemd-homed hitantana ny lahatahiry an-trano azo entina

Lennart Poettering nanaiky (PDF) amin'ny fihaonambe All Systems Go 2019, singa vaovao amin'ny system manager systemd - systemd-homed, mikendry ny hahatonga ny lahatahiry ho an'ny mpampiasa azo entina sy misaraka amin'ny firafitry ny rafitra. Ny hevi-dehibe amin'ilay tetikasa dia ny mamorona tontolo mahazaka tena ho an'ny angon-drakitra mpampiasa izay azo afindra eo anelanelan'ny rafitra samihafa nefa tsy manahy momba ny fampifanarahana sy ny tsiambaratelo.

Ny tontolon'ny lahatahiry an-trano dia tonga amin'ny endrika fisie sary mipetaka, ny angon-drakitra misy encryption. Ny fahazoan-dàlan'ny mpampiasa dia mifamatotra amin'ny lahatahiry an-trano fa tsy ny rafitra rafitra - fa tsy /etc/passwd sy /etc/shadow piraofilina amin'ny endrika JSON, voatahiry ao amin'ny lahatahiry ~/.identity. Ny mombamomba dia mirakitra ny mari-pamantarana ilaina amin'ny asan'ny mpampiasa, ao anatin'izany ny fampahalalana momba ny anarana, ny tenimiafina tenimiafina, ny fanalahidin'ny fanafenana, ny fetra, ary ny loharanon-karena voatokana. Ny mombamomba dia azo voamarina amin'ny sonia nomerika voatahiry amin'ny marika Yubikey ivelany.

Mety ahitana fampahalalana fanampiny toy ny fanalahidin'ny SSH, angon-drakitra fanamarinana biometrika, sary, mailaka, adiresy, fe-potoana, fiteny, dingana ary fetran'ny fitadidiana, saina fanampiny (nodev, noexec, nosuid), fampahalalana momba ny mpizara IMAP/SMTP mpampiasa ampiasaina. , fampahalalana momba ny fampandehanana ny fanaraha-maso ataon'ny ray aman-dreny, ny safidy backup, sns. Ny API dia omena mba hangataka sy handinihana masontsivana Varlink.

Ny fanendrena sy ny fanodinana UID/GID dia atao mavitrika amin'ny rafitra eo an-toerana tsirairay izay mifandray amin'ny lahatahiry an-trano. Amin'ny fampiasana ny rafitra natolotra, ny mpampiasa dia afaka mitazona ny lahatahiry an-trano miaraka aminy, ohatra amin'ny Flash drive, ary mahazo tontolo iasana amin'ny solosaina rehetra nefa tsy mamorona kaonty mazava ao aminy (ny fisian'ny rakitra misy ny sarin'ny lahatahiry an-trano. mitarika amin'ny synthesis ny mpampiasa).

Atolotra ny fampiasana ny subsystem LUKS2 ho an'ny encryption data, fa ny systemd-homed koa dia mamela ny fampiasana backends hafa, ohatra, ho an'ny lahatahiry tsy misy miafina, fisarahana amin'ny tambajotra Btrfs, Fscrypt ary CIFS. Mba hitantana ny lahatahiry azo entina dia aroso ny fampiasana homectl, izay ahafahanao mamorona sy manetsika ny sarin'ny lahatahiry an-trano, ary koa manova ny habeny ary mametraka tenimiafina.

Eo amin'ny sehatry ny rafitra dia miantoka ny asa amin'ireto singa manaraka ireto:

  • systemd-homed.service - mitantana ny lahatahiry an-trano ary mampiditra mivantana ny rakitra JSON amin'ny sarin'ny lahatahiry;
  • pam_systemd - manodina masontsivana avy amin'ny mombamomba ny JSON rehefa miditra ny mpampiasa ary mampihatra azy ireo ao anatin'ny tontolon'ny fivoriana navitrika (manao fanamarinana, manitsy ny fari-piainan'ny tontolo iainana, sns.);
  • systemd-logind.service - manodina ny masontsivana avy amin'ny mombamomba ny JSON rehefa miditra ny mpampiasa, mampihatra ny fikajiana fitantanana loharano samihafa ary mametraka fetra;
  • nss-systemd - Module NSS ho an'ny glibc, mampifanaraka ny firaketana NSS mahazatra mifototra amin'ny mombamomba JSON, manome fampifanarahana miverina amin'ny API fanodinana mpampiasa UNIX (/etc/password);
  • PID 1 - mamorona mpampiasa mavitrika (natambatra amin'ny fampitahana amin'ny fampiasana ny torolàlana DynamicUser amin'ny singa) ary mahatonga azy ireo ho hitan'ny rafitra sisa;
  • systemd-userdbd.service - mandika ny kaonty NSS UNIX/glibc amin'ny rakitra JSON ary manome API Varlink mitambatra ho an'ny fangatahana sy famerenana ny rakitra.

Ny tombony amin'ny rafitra natolotra dia ahitana ny fahafahana mitantana ny mpampiasa rehefa mametraka ny /etc lahatahiry amin'ny fomba vakiana fotsiny, ny tsy fisian'ny filàna fampifanarahana ny famantarana (UID/GID) eo amin'ny rafitra, ny fahaleovantenan'ny mpampiasa amin'ny solosaina iray manokana, ny fanakanana ny angona mpampiasa. mandritra ny fomba torimaso, ny fampiasana encryption sy ny fomba fanamarinana maoderina. Systemd-homed dia nokasaina hampidirina ao amin'ny systemd mainstream amin'ny famoahana 244 na 245.

Ohatra momba ny mpampiasa JSON:

"autoLogin": marina,
"mamatotra" : {
«15e19cd24e004b949ddaac60c74aa165» : {
"fileSystemType" : "ext4"
«fileSystemUUID» : «758e88c8-5851-4a2a-b98f-e7474279c111»,
"gid": 60232,
"homeDirectory" : "/home/test",
"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" : "mahazatra",
"enforcePasswordPolicy": diso,
"lastChangeUSec" : 1565951024279735,
"mpikambana" : [
"kodiarana"
],
"privilege" : {
"hashedPassword" : [
«$6$WHBKvAFFT9jKPA4k$OPY4D5…/»
]},
"sonia" : [
{
"data" : "LU/HeVrPZSzi3M3J...=",
"key" : "——MANOMBOKA KEY PUBLIC——\nMCowBQADK2VwAy…=\n——FARITRA KEY PUBLIC——\n"
}
],
"userName" : "fitsapana",
"status" : {
«15e19cf24e004b949dfaac60c74aa165» : {
"goodAuthenticationCounter": 16,
"lastGoodAuthenticationUSec" : 1566309343044322,
"rateLimitBeginUSec" : 1566309342341723,
"rateLimitCount" : 1,
"state": "tsy mavitrika",
"service" : "io.systemd.Home",
"Habe kapila": 161218667776,
"DiskCeiling": 191371729408,
"DiskFloor": 5242780,
"signedLocally" : marina
}
}

Source: opennet.ru

Add a comment