Fa'ailoa mai le systemd-homed e fa'atautaia ai fa'atonuga fale feavea'i

Lennart Poettering faʻalauiloa (PDF) i le All Systems Go 2019 conference, o se vaega fou o le system manager systemd - systemd-homed, e fa'atatau i le fa'aogaina o fa'atonuga a le tagata fa'aoga fale e feavea'i ma tu'uese'ese mai le fa'atulagaina o faiga. O le manatu autu o le poloketi o le fatuina lea o siosiomaga faʻapitoa mo tagata faʻamatalaga e mafai ona faʻafeiloaʻi i le va o faiga eseese e aunoa ma le popole i le faʻamaoniaina o fesoʻotaʻiga ma le le faalauaiteleina.

O le siosiomaga o le lisi o fale e sau i foliga o se faila ata faʻapipiʻi, o faʻamaumauga o loʻo faʻailogaina. O fa'amaumauga a tagata fa'aoga e nonoa i le lisi o fale nai lo le fa'atulagaina o faiga - nai lo le /etc/passwd ma le /etc/shadow talaaga i le JSON format, teuina i le ~/.identity directory. O lo'o i ai i le fa'ailoga fa'ailoga e mana'omia mo le galuega a le tagata fa'aoga, e aofia ai fa'amatalaga e uiga i le igoa, password hash, encryption keys, quotas, ma vaevaega punaoa. E mafai ona fa'amaonia le fa'ailoga i se saini numera o lo'o teuina i luga o se fa'ailoga Yubikey fafo.

Parameters e mafai foi ona aofia ai faʻamatalaga faaopoopo e pei o SSH ki, biometric authentication data, ata, imeli, tuatusi, sone taimi, gagana, faagasologa ma manatua tapulaa, faʻaopoopoga o fuʻa (nodev, noexec, nosuid), faʻamatalaga e uiga i tagata faʻaoga IMAP/SMTP servers. , fa'amatalaga e uiga i le fa'atagaina o fa'atonuga a matua, filifiliga fa'asao, ma isi. O lo'o tu'uina atu se API e talosaga ma fa'avasega fa'amaufa'ailoga Varlink.

UID/GID tofitofiga ma faagaioiga e faia ma le malosi i luga o faiga faʻapitonuʻu taʻitasi e fesoʻotaʻi ai le lisi o fale. I le faʻaaogaina o le polokalama faʻatulagaina, e mafai e le tagata faʻaoga ona tausia lana lisi o fale ma ia, mo se faʻataʻitaʻiga i luga o le Flash drive, ma maua se siosiomaga galue i luga o soʻo se komepiuta e aunoa ma le faia manino o se tala i luga (o le i ai o se faila ma le ata o le lisi o fale. e taʻitaʻia ai le faʻaogaina o le tagata faʻaoga).

O loʻo tuʻuina atu e faʻaoga le LUKS2 subsystem mo faʻamatalaga faʻamatalaga, ae o le systemd-homed e faʻatagaina foi le faʻaogaina o isi pito i tua, mo se faʻataʻitaʻiga, mo faʻamaumauga e le faʻamaonia, Btrfs, Fscrypt ma CIFS vaega o fesoʻotaiga. Mo le faʻatautaia o faʻatonuga feaveaʻi, o loʻo tuʻuina atu le faʻaogaina o le homectl, lea e mafai ai ona e fatuina ma faʻagaoioia ata o lisi o fale, faʻapea foʻi ma le suia o latou tele ma seti se faʻaupuga.

I le tulaga o le faiga, o galuega e faʻamautinoa e vaega nei:

  • systemd-homed.service - pulea le lisi o fale ma faʻapipiʻi faʻamaumauga a le JSON saʻo i ata o le lisi o fale;
  • pam_systemd - faʻagasologa faʻasologa mai le faʻamatalaga JSON pe a faʻaoga le tagata faʻaoga i totonu ma faʻaoga i totonu o le tulaga o le sauniga faʻagaoioia (faʻaalia le faʻamaoni, faʻatulagaina suiga o le siosiomaga, ma isi);
  • systemd-logind.service - fa'agasologa fa'asologa mai le fa'ailoga a le JSON pe a fa'aoga le tagata fa'aoga, fa'aoga le tele o fa'atonuga o fa'atonuga ma fa'atulaga tapula'a;
  • nss-systemd - NSS module mo glibc, faʻapipiʻi faʻamaumauga masani a le NSS e faʻavae i luga o se faʻamatalaga JSON, tuʻuina atu i tua le fesoʻotaʻiga ma le UNIX user processing API (/etc/password);
  • PID 1 - fa'atupuina malosi tagata fa'aoga (fa'apipi'i fa'atusa ma le fa'aogaina o le DynamicUser fa'atonuga i iunite) ma fa'aalia i latou i le vaega o totoe o le polokalama;
  • systemd-userdbd.service - fa'aliliu UNIX/glibc NSS accounts i fa'amaumauga a le JSON ma tu'uina atu ai se Varlink API fa'atasi mo le su'esu'eina ma le su'esu'eina o fa'amaumauga.

O le lelei o le faiga faʻatulagaina e aofia ai le mafai ona pulea tagata faʻaoga pe a faʻapipiʻi le /etc directory i le faitau-naʻo le faʻaogaina, le leai o se manaʻoga e faʻafetaui faʻamatalaga (UID / GID) i le va o faiga, tagata tutoʻatasi mai se komepiuta patino, poloka faʻamatalaga tagata faʻaoga. i le taimi o le moe, le faʻaogaina o faʻamatalaga ma auala faʻamaonia faʻaonapo nei. Systemd-homed ua fuafua e aofia i le systemd mainstream i le faʻamalolo 244 poʻo le 245.

Fa'ata'ita'iga JSON fa'amatalaga fa'aoga:

"autoLogin" : moni,
"fusi" : {
«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»,
"teu" : "luks",
"uid" : 60233
}
},
"disposition" : "masani",
"enforcePasswordPolicy" : sese,
"LastChangeUSec" : 1565951024279735,
"memberOf" : [
"uili"
],
"fa'apitoa" : {
"hashedPassword" : [
«$6$WHBKvAFFT9jKPA4k$OPY4D5…/»
]},
"saini" : [
{
"data" : "LU/HeVrPZSzi3M3J...=",
"key" : "——AMATA IA KI LE LELEI——\nMCowBQADK2VwAy…=\n——FA'ATAU KI LELEI——\n"
}
],
"userName" : "su'ega",
"tulaga" : {
«15e19cf24e004b949dfaac60c74aa165» : {
"GoodAuthenticationCounter": 16,
"lastGoodAuthenticationUSec" : 1566309343044322,
"rateLimitBeginUSec" : 1566309342341723,
"rateLimitCount" : 1,
"state" : "le toaga",
"auaunaga" : "io.systemd.Home",
"DiskSize" : 161218667776,
"DiskCeiling": 191371729408,
"DiskFloor": 5242780,
"signedLocally" : moni
}
}

puna: opennet.ru

Faaopoopo i ai se faamatalaga