Lennart Poettering
Lingkungan direktori ngarep teka ing wangun file gambar sing dipasang, data sing dienkripsi. Kredensial pangguna disambungake menyang direktori ngarep tinimbang setelan sistem - tinimbang /etc/passwd lan /etc/shadow
Parameter bisa uga kalebu informasi tambahan kayata tombol SSH, data otentikasi biometrik, gambar, email, alamat, zona wektu, basa, proses lan watesan memori, panji tambahan (nodev, noexec, nosuid), informasi babagan server IMAP/SMTP pangguna sing digunakake. , informasi babagan ngaktifake kontrol wong tuwa, opsi serep, lsp. API diwenehake kanggo pitakon lan ngurai paramèter
Tugas lan pangolahan UID / GID ditindakake kanthi dinamis ing saben sistem lokal sing disambungake menyang direktori ngarep. Nggunakake sistem sing diusulake, pangguna bisa nyimpen direktori ngarep karo dheweke, umpamane ing Flash drive, lan entuk lingkungan kerja ing komputer apa wae tanpa nggawe akun kanthi jelas (anane file kanthi gambar direktori ngarep. ndadékaké sintesis pangguna).
Disaranake nggunakake subsistem LUKS2 kanggo enkripsi data, nanging systemd-homed uga ngidini panggunaan backend liyane, contone, kanggo direktori sing ora dienkripsi, Btrfs, Fscrypt lan partisi jaringan CIFS. Kanggo ngatur direktori portabel, sarana homectl diusulake, sing ngidini sampeyan nggawe lan ngaktifake gambar direktori ngarep, uga ngganti ukuran lan nyetel sandhi.
Ing tingkat sistem, karya dijamin dening komponen ing ngisor iki:
- systemd-homed.service - ngatur direktori ngarep lan nampilake rekaman JSON langsung menyang gambar direktori ngarep;
- pam_systemd - ngolah paramèter saka profil JSON nalika pangguna mlebu lan ditrapake ing konteks sesi sing diaktifake (nglakoni otentikasi, ngatur variabel lingkungan, lsp);
- systemd-logind.service - pangolahan paramèter saka profil JSON nalika pangguna mlebu, ditrapake macem-macem setelan manajemen sumber lan nyetel watesan;
- nss-systemd - modul NSS kanggo glibc, nyintesis cathetan NSS klasik adhedhasar profil JSON, nyediakake kompatibilitas mundur karo API pangolahan pangguna UNIX (/etc/sandi);
- PID 1 - nggawe pangguna kanthi dinamis (disintesis kanthi analogi kanthi nggunakake arahan DynamicUser ing unit) lan ndadekake wong-wong mau katon ing sistem liyane;
- systemd-userdbd.service - nerjemahake akun NSS UNIX/glibc menyang cathetan JSON lan nyedhiyakake API Varlink sing manunggal kanggo pitakon lan ngulang cathetan.
Kauntungan saka sistem sing diusulake kalebu kemampuan kanggo ngatur pangguna nalika masang direktori / etc ing mode mung-maca, ora ana kabutuhan kanggo nyinkronake pengenal (UID / GID) antarane sistem, kamardikan pangguna saka komputer tartamtu, mblokir data pangguna. sajrone mode turu, panggunaan enkripsi lan metode otentikasi modern. Systemd-homed direncanakake bakal kalebu ing systemd mainstream ing release 244 utawa 245.
Conto profil pangguna JSON:
"autoLogin" : bener,
"ikatan" : {
«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": "biasa",
"enforcePasswordPolicy" : palsu,
"LastChangeUSec": 1565951024279735,
"anggota" : [
"roda"
],
"privilege" : {
"HashedPassword" : [
«$6$WHBKvAFFT9jKPA4k$OPY4D5…/»
]},
"tanda tangan": [
{
"data" : "LU/HeVrPZSzi3M3J...=",
"key" : "——MULAI KUNCI PUBLIC——\nMCowBQADK2VwAy…=\n——END PUBLIC KUNCI——\n"
}
],
"userName": "test",
"status" : {
«15e19cf24e004b949dfaac60c74aa165» : {
"GoodAuthenticationCounter": 16,
"lastGoodAuthenticationUSec": 1566309343044322,
"rateLimitBeginUSec": 1566309342341723,
"rateLimitCount" : 1,
"state": "ora aktif",
"service": "io.systemd.Home",
"ukuran disk": 161218667776,
"diskCeiling": 191371729408,
"DiskFloor": 5242780,
"signedLocally" : bener
}
}
Source: opennet.ru