Ṣafihan eto-ile lati ṣakoso awọn ilana ile gbigbe to ṣee gbe

Lennart Poettering ṣafihan (PDF) ni apejọ Gbogbo Systems Go 2019, paati tuntun ti oluṣakoso eto eto - systemd-homed, ti a pinnu lati jẹ ki awọn ilana ile olumulo jẹ gbigbe ati lọtọ lati awọn eto eto. Ero akọkọ ti iṣẹ akanṣe ni lati ṣẹda awọn agbegbe ti ara ẹni fun data olumulo ti o le gbe laarin awọn eto oriṣiriṣi laisi aibalẹ nipa amuṣiṣẹpọ idanimọ ati aṣiri.

Ayika ilana ile wa ni irisi faili aworan ti a gbe soke, data ninu eyiti o jẹ fifipamọ. Awọn iwe-ẹri olumulo ni a so mọ ilana ile dipo awọn eto eto - dipo /etc/passwd ati /etc/ojiji profaili ni ọna kika JSON, ti a fipamọ sinu ~/. idanimọ idanimọ. Profaili naa ni awọn paramita to ṣe pataki fun iṣẹ olumulo, pẹlu alaye nipa orukọ, hash ọrọ igbaniwọle, awọn bọtini fifi ẹnọ kọ nkan, awọn ipin, ati awọn orisun ipin. Awọn profaili le ti wa ni ifọwọsi pẹlu kan oni Ibuwọlu ti o ti fipamọ lori ohun ita Yubikey àmi.

Awọn paramita le tun pẹlu alaye afikun gẹgẹbi awọn bọtini SSH, data ijẹrisi biometric, aworan, imeeli, adirẹsi, agbegbe aago, ede, ilana ati awọn opin iranti, awọn asia oke (nodev, noexec, nosuid), alaye nipa awọn olupin IMAP/SMTP olumulo ti a lo , alaye nipa ṣiṣe awọn iṣakoso obi, awọn aṣayan afẹyinti, ati bẹbẹ lọ. API kan ti pese lati beere ati itupalẹ awọn paramita Varlink.

Iṣẹ iyansilẹ UID/GID ati sisẹ jẹ ṣiṣe ni agbara lori eto agbegbe kọọkan eyiti a ti sopọ mọ ilana ile. Lilo eto ti a dabaa, olumulo le tọju itọsọna ile rẹ pẹlu rẹ, fun apẹẹrẹ lori awakọ Flash, ati gba agbegbe iṣẹ lori kọnputa eyikeyi laisi ṣiṣẹda akọọlẹ kan ni gbangba lori rẹ (niwaju faili pẹlu aworan ti itọsọna ile nyorisi si kolaginni ti olumulo).

O ti wa ni dabaa lati lo awọn LUKS2 subsystem fun data ìsekóòdù, ṣugbọn systemd-homed tun gba awọn lilo ti miiran backend, fun apẹẹrẹ, fun unencrypted ilana, Btrfs, Fscrypt ati CIFS nẹtiwọki ipin. Lati ṣakoso awọn ilana to ṣee gbe, a dabaa ohun elo homectl, eyiti o fun ọ laaye lati ṣẹda ati mu awọn aworan ṣiṣẹ ti awọn ilana ile, bakannaa yi iwọn wọn pada ki o ṣeto ọrọ igbaniwọle kan.

Ni ipele eto, iṣẹ jẹ iṣeduro nipasẹ awọn paati wọnyi:

  • systemd-homed.service - n ṣakoso itọnisọna ile ati fi awọn igbasilẹ JSON sinu awọn aworan itọnisọna ile;
  • pam_systemd - awọn ilana ilana lati profaili JSON nigbati olumulo ba wọle ati lo wọn ni aaye ti igba ti a mu ṣiṣẹ (ṣe ijẹrisi, tunto awọn oniyipada ayika, ati bẹbẹ lọ);
  • systemd-logind.service - awọn ilana ilana lati inu profaili JSON nigbati olumulo ba wọle, kan awọn eto iṣakoso orisun lọpọlọpọ ati ṣeto awọn opin;
  • nss-systemd - module NSS fun glibc, ṣepọ awọn igbasilẹ NSS Ayebaye ti o da lori profaili JSON kan, pese ibamu sẹhin pẹlu UNIX API fun ṣiṣe olumulo (/ ati bẹbẹ lọ/ọrọ igbaniwọle);
  • PID 1 - ni agbara ṣẹda awọn olumulo (ṣepọ nipasẹ afiwe pẹlu lilo itọsọna DynamicUser ni awọn ẹya) ati jẹ ki wọn han si eto iyokù;
  • systemd-userdbd.service - tumọ awọn akọọlẹ UNIX/glibc NSS sinu awọn igbasilẹ JSON ati pese Varlink API ti iṣọkan fun ibeere ati atunbere lori awọn igbasilẹ.

Awọn anfani ti eto ti a dabaa pẹlu agbara lati ṣakoso awọn olumulo nigbati o ba n gbe itọsọna / ati bẹbẹ lọ ni ipo kika-nikan, isansa ti iwulo lati muuṣiṣẹpọ awọn idamọ (UID/GID) laarin awọn eto, ominira olumulo lati kọnputa kan pato, idilọwọ data olumulo lakoko ipo oorun, lilo fifi ẹnọ kọ nkan ati awọn ọna ijẹrisi ode oni. Systemd-homed ti gbero lati wa ninu eto akọkọ ni idasilẹ 244 tabi 245.

Apeere profaili olumulo JSON:

"autoLogin": ootọ,
"isopọ": {
«15e19cd24e004b949ddaac60c74aa165» : {
"fileSystemType": "ext4"
«fileSystemUUID» : «758e88c8-5851-4a2a-b98f-e7474279c111»,
"gid": 60232,
"homeDirectory": "/ile/idanwo",
"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" : "deede",
"enforcePasswordPolicy": iro,
"lastChangeUSec": 1565951024279735,
"egbeTi": [
"kẹkẹ"
],
"anfani": {
"hashedPassword": [
«$6$WHBKvAFFT9jKPA4k$OPY4D5…/»
]},
"ibuwọlu": [
{
"data" : "LU/HeVrPZSzi3M3J...==",
"bọtini" : "——BẸRẸ KỌKỌKỌ́ ÌGBÀGBÀ——\nMCowBQADK2VwAy…=\n——KỌ́KỌ́RỌ́ ÌGBÀ PARI——\n"
}
],
"userName" : "idanwo",
"ipo": {
«15e19cf24e004b949dfaac60c74aa165» : {
"Oludari Ijẹri to dara": 16,
"lastGoodAuthenticationUSec": 1566309343044322,
"oṣuwọnLimitBeginUSec": 1566309342341723,
"OṣuwọnLimitCount": 1,
"state" : "aláìṣiṣẹ́",
"iṣẹ": "io.systemd.Home",
"Iwọn disk": 161218667776,
"diskCeiling": 191371729408,
"diskFloor": 5242780,
"signedLocly": otitọ
}
}

orisun: opennet.ru

Fi ọrọìwòye kun