Diwanohkeun systemd-homed pikeun ngatur diréktori bumi portabel

Lennart Poettering ngenalkeun (PDF) dina konperénsi All Systems Go 2019, komponén énggal tina sistem manajer sistemd - systemd-homed, aimed dina nyieun diréktori imah pamaké portabel tur misah ti setélan sistem. Gagasan utama proyék nyaéta nyiptakeun lingkungan anu nyukupan pikeun data pangguna anu tiasa ditransfer antara sistem anu béda tanpa hariwang ngeunaan sinkronisasi identifier sareng karusiahan.

Lingkungan diréktori bumi asalna dina bentuk file gambar anu dipasang, data anu énkripsi. Kapercayaan pangguna dihijikeun kana diréktori bumi tinimbang setélan sistem - tibatan /etc/passwd sareng /etc/shadow keureutan dina format JSON, disimpen dina ~/.diréktori identitas. Profilna ngandung parameter anu dipikabutuh pikeun padamelan pangguna, kalebet inpormasi ngeunaan nami, hash sandi, konci enkripsi, kuota, sareng sumber daya anu dialokasikeun. profil nu bisa Certified kalawan signature digital disimpen dina token Yubikey éksternal.

Parameter ogé tiasa ngalebetkeun inpormasi tambahan sapertos konci SSH, data auténtikasi biometrik, gambar, email, alamat, zona waktos, basa, prosés sareng wates mémori, bandéra gunung tambahan (nodev, noexec, nosuid), inpormasi ngeunaan pangguna IMAP / SMTP server anu dianggo. , Inpo ngeunaan ngaktipkeun kadali parental, pilihan cadangan, jsb. API disadiakeun pikeun menta na parse parameter Varlink.

UID / GID ngerjakeun jeung ngolah dipigawé dinamis dina unggal sistem lokal nu diréktori home disambungkeun. Ngagunakeun sistem anu diusulkeun, pangguna tiasa ngajaga diréktori bumina sareng anjeunna, contona dina Flash drive, sareng kéngingkeun lingkungan kerja dina komputer mana waé tanpa sacara eksplisit nyiptakeun akun di dinya (ku ayana file kalayan gambar diréktori bumi. ngabalukarkeun sintésis pamaké).

Diusulkeun ngagunakeun subsistem LUKS2 pikeun enkripsi data, tapi systemd-homed ogé ngamungkinkeun pamakéan backends séjén, Contona, pikeun diréktori unencrypted, Btrfs, Fscrypt na CIFS partitions jaringan. Pikeun ngatur diréktori portabel, utilitas homectl diusulkeun, anu ngamungkinkeun anjeun nyiptakeun sareng ngaktipkeun gambar diréktori bumi, ogé ngarobih ukuranana sareng nyetél kecap konci.

Dina tingkat sistem, pagawéan dipastikeun ku komponén ieu:

  • systemd-homed.service - ngatur diréktori bumi sareng nyelapkeun rékaman JSON langsung kana gambar diréktori bumi;
  • pam_systemd - ngolah parameter tina profil JSON nalika pangguna asup sareng nerapkeunana dina konteks sési anu diaktipkeun (ngajalankeun auténtikasi, ngonpigurasikeun variabel lingkungan, jsb.);
  • systemd-logind.service - ngolah parameter tina profil JSON nalika pangguna asup, nerapkeun rupa-rupa setélan manajemén sumberdaya sareng netepkeun wates;
  • nss-systemd - modul NSS pikeun glibc, synthesizes rékaman NSS Palasik dumasar kana hiji profil JSON, nyadiakeun kasaluyuan mundur jeung UNIX pamaké processing API (/ jsb / sandi);
  • PID 1 - sacara dinamis nyiptakeun pangguna (disintésis ku analogi nganggo diréktif DynamicUser dina unit) sareng ngajantenkeun aranjeunna katingali ku sesa sistem;
  • systemd-userdbd.service - narjamahkeun akun UNIX/glibc NSS kana rékaman JSON sareng nyayogikeun API Varlink anu ngahijikeun pikeun naroskeun sareng ngulang rékaman.

Kaunggulan tina sistem anu diusulkeun kalebet kamampuan pikeun ngatur pangguna nalika masang diréktori /etc dina modeu ngan ukur baca, henteuna kabutuhan pikeun nyinkronkeun identifier (UID/GID) antara sistem, kamerdékaan pangguna tina komputer khusus, ngahalangan data pangguna. salila mode sare, pamakéan enkripsi jeung métode auténtikasi modern. Systemd-homed direncanakeun bakal dilebetkeun kana mainstream systemd dina sékrési 244 atanapi 245.

Conto profil pangguna JSON:

"autoLogin": leres,
"ngabeungkeut": {
«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»,
"gudang": "luks",
"Uid": 60233
}
},
"disposition": "biasa",
"enforcePasswordPolicy" : palsu,
"LastChangeUSec": 1565951024279735,
"anggota": [
"roda"
],
"istiméwa" : {
"HashedPassword" : [
«$6$WHBKvAFFT9jKPA4k$OPY4D5…/»
] },
"tanda tangan": [
{
"data" : "LU/HeVrPZSzi3M3J...==",
"konci" : "——Mimitian KUNCI PUBLIK——\nMCowBQADK2VwAy…=\n——TAMAT KUNCI PUBLIK——\n"
}
],
"Nama pamaké": "tés",
"status" : {
«15e19cf24e004b949dfaac60c74aa165» : {
"GoodAuthenticationCounter": 16,
"lastGoodAuthenticationUSec": 1566309343044322,
"rateLimitBeginUSec": 1566309342341723,
"rateLimitCount": 1,
"state": "henteu aktif",
"service": "io.systemd.Home",
"Ukuran disk": 161218667776,
"DiskCeiling": 191371729408,
"DiskFloor": 5242780,
"signedLocally" : leres
}
}

sumber: opennet.ru

Tambahkeun komentar