I whakauruhia he systemd-homed hei whakahaere i nga raarangi kaainga kawe

Lennart Poettering whakaurua (PDF) i te hui a All Systems Go 2019, he waahanga hou o te punaha kaiwhakahaere punahad - systemd-homed, e whai ana ki te kawe i nga whaiaronga kaainga a nga kaiwhakamahi me te wehe atu i nga tautuhinga punaha. Ko te whakaaro nui o te kaupapa ko te hanga i nga taiao-whaiaro mo nga raraunga kaiwhakamahi ka taea te whakawhiti i waenga i nga punaha rereke me te kore e awangawanga mo te tukutahitanga me te muna.

Ko te taiao whaiaronga kaainga ka puta mai i te ahua o te konae whakaahua kua whakairihia, ko nga raraunga kua whakamunatia. Ka herea nga korero a te kaiwhakamahi ki te raarangi kaainga kaore i nga tautuhinga punaha - hei utu mo /etc/passwd me /etc/shadow tohu i roto i te whakatakotoranga JSON, kua rongoa ki te ~/.identity directory. Kei roto i te kōtaha nga tawhā e tika ana mo te mahi a te kaiwhakamahi, tae atu ki nga korero e pa ana ki te ingoa, te tohu kupuhipa, nga taviri whakamunatanga, nga waahi, me nga rauemi kua tohatohahia. Ka taea te tohu tohu ki te waitohu mamati kua rongoa ki runga i tetahi tohu Yubikey o waho.

Kei roto pea i nga tawhā etahi atu korero penei i nga taviri SSH, nga raraunga motuhēhēnga koiora, te ahua, te imeera, te wahitau, te rohe wa, te reo, te tukanga me nga tepe mahara, etahi atu haki maunga (nodev, noexec, nosuid), nga korero mo nga kaitoro IMAP/SMTP kaiwhakamahi kua whakamahia. , nga korero mo te whakamana i nga mana whakahaere a nga matua, nga whiringa taapiri, etc. Ka tukuna he API hei tono me te poroporo i nga tawhā Varlink.

Ko te mahi UID/GID me te tukatuka ka mahia i runga i ia punaha rohe e hono ana te raarangi kaainga. Ma te whakamahi i te punaha e whakaarohia ana, ka taea e te kaiwhakamahi te pupuri i tana raarangi kaainga ki a ia, hei tauira i runga i te puku Flash, me te tiki i tetahi taiao mahi i runga i tetahi rorohiko me te kore e tino hanga i tetahi kaute ki runga (te aroaro o tetahi konae me te ahua o te raarangi kaainga. ka arahi ki te whakahiato o te kaiwhakamahi).

E whakaarohia ana kia whakamahia te punaha LUKS2 mo te whakamunatanga raraunga, engari ka taea ano e te systemd-homed te whakamahi i etahi atu tuara, hei tauira, mo nga raarangi whakamuna, Btrfs, Fscrypt me nga wehewehenga whatunga CIFS. Hei whakahaere i nga raarangi kawe, ka whakaarohia te whaipainga homectl, ka taea e koe te hanga me te whakahohe i nga whakaahua o nga raarangi kaainga, me te whakarereke i te rahi me te tautuhi i te kupuhipa.

I te taumata o te punaha, ka whakamanahia nga mahi e nga waahanga e whai ake nei:

  • systemd-homed.service - ka whakahaere i te whaiaronga kaainga me te whakauru tika i nga rekoata JSON ki nga whakaahua whaiaronga kaainga;
  • pam_systemd - ka tukatuka i nga tawhā mai i te kōtaha JSON i te wa e takiuru ana te kaiwhakamahi me te whakamahi i roto i te horopaki o te waahi kua whakahohehia (ka mahi motuhēhēnga, whirihora i nga taurangi taiao, me etahi atu);
  • systemd-logind.service - ka tukatuka i nga tawhā mai i te kōtaha JSON i te wa e takiuru ana te kaiwhakamahi, ka whakamahi i nga momo whakaritenga whakahaere rauemi me te whakatau i nga rohe;
  • nss-systemd - kōwae NSS mo te glibc, ka whakahiato i nga rekoata NSS matarohia i runga i te kotaha JSON, e whakarato ana i te hototahi whakamuri me te API tukatuka kaiwhakamahi UNIX (/etc/kupuhipa);
  • PID 1 - ka hanga hihiri i nga kaiwhakamahi (i whakahiatohia ma te whakataurite me te whakamahi i te tohutohu DynamicUser i roto i nga waeine) me te whakaatu ki te toenga o te punaha;
  • systemd-userdbd.service - he whakamaori i nga kaute UNIX/glibc NSS ki nga rekoata JSON me te whakarato i te API Varlink whakakotahi mo te uiui me te huri i nga rekoata.

Ko nga painga o te punaha e whakaarohia ana ko te kaha ki te whakahaere i nga kaiwhakamahi i te wa e whakairihia ana te whaiaronga / etc i roto i te aratau panui-anake, te kore o te hiahia ki te tukutahi tohu (UID/GID) i waenga i nga punaha, te motuhake o te kaiwhakamahi mai i te rorohiko motuhake, te aukati i nga raraunga kaiwhakamahi. i roto i te aratau moe, te whakamahi i te whakamunatanga me nga tikanga motuhēhēnga hou. Ko te Systemd-homed kua whakamaheretia kia whakauruhia ki roto i te punaha matua ki te tuku 244, 245 ranei.

Tauira kōtaha kaiwhakamahi JSON:

"AutoLogin" : pono,
"here" : {
«15e19cd24e004b949ddaac60c74aa165» : {
"fileSystemType" : "ext4"
«fileSystemUUID» : «758e88c8-5851-4a2a-b98f-e7474279c111»,
"gid": 60232,
"homeDirectory" : "/home/test",
"imagePath" : "/home/test.home",
"luksCipher" : "ae",
"luksCipherMode" : "xts-plain64",
«luksUUID» : «e63581ba-79fa-4226-b9de-1888393f7573»,
"luksVolumeKeySize" : 32,
«partitionUUID» : «41f9ce04-c927-4b74-a981-c669f93eb4dc»,
"storage" : "luks",
"Uid": 60233
}
},
"disposition" : "rite tonu",
"enforcePasswordPolicy" : he teka,
"lastChangeUSec" : 1565951024279735,
"memaOf" : [
"wira"
],
"mana" : {
"HashedPassword" : [
«$6$WHBKvAFFT9jKPA4k$OPY4D5…/»
] },
"waitohu" : [
{
"raraunga" : "LU/HeVrPZSzi3M3J...=",
"key" : "——TIMA KINI PUBLIC——\nMCowBQADK2VwAy…=\n——MUTU KINI PUBLIC——\n"
}
],
"Ingoawhakamahi" : "whakamatautau",
"tūnga" : {
«15e19cf24e004b949dfaac60c74aa165» : {
"GoodAuthenticationCounter": 16,
"lastGoodAuthenticationUSec" : 1566309343044322,
"rateLimitBeginUSec" : 1566309342341723,
"rateLimitCount" : 1,
"state" : "kore hohe",
"service" : "io.systemd.Home",
"Rahi kōpae" : 161218667776,
"DiskCeiling": 191371729408,
"diskFloor": 5242780,
"signedLocally" : pono
}
}

Source: opennet.ru

Tāpiri i te kōrero