ተንቀሳቃሽ የቤት ማውጫዎችን ለማስተዳደር ሲስተምድ-ሆሜድ አስተዋውቋል

ሌናርት ገጣሚ አስተዋውቋል (ፒዲኤፍ) በAll Systems Go 2019 ኮንፈረንስ፣ የስርዓት አስተዳዳሪው አዲስ አካል - systemd-homedየተጠቃሚ የቤት ማውጫዎችን ተንቀሳቃሽ እና ከስርዓት ቅንብሮች የተለዩ ለማድረግ ያለመ። የፕሮጀክቱ ዋና ሃሳብ ስለ መለያ ማመሳሰል እና ምስጢራዊነት ሳይጨነቁ በተለያዩ ስርዓቶች መካከል ሊተላለፉ የሚችሉ የተጠቃሚ መረጃዎችን በራስ የሚበቁ አካባቢዎች መፍጠር ነው።

የቤት ማውጫው አካባቢ በተሰቀለ የምስል ፋይል መልክ ነው የሚመጣው፣ ውሂቡ የተመሰጠረ ነው። የተጠቃሚ ምስክርነቶች ከስርዓት ቅንብሮች ይልቅ ከቤት ማውጫ ጋር የተሳሰሩ ናቸው - ከ / ወዘተ/passwd እና / ወዘተ/ ጥላ ይልቅ መገለጫ በ JSON ቅርጸት፣ በ ~/ .ማንነት ማውጫ ውስጥ ተከማችቷል። መገለጫው ስለ ስም፣ የይለፍ ቃል ሃሽ፣ የኢንክሪፕሽን ቁልፎች፣ ኮታዎች እና የተመደቡ ሀብቶች መረጃን ጨምሮ ለተጠቃሚው ስራ አስፈላጊ የሆኑትን መለኪያዎች ይዟል። መገለጫው በውጫዊ የዩቢኪ ቶከን ላይ በተከማቸ ዲጂታል ፊርማ ሊረጋገጥ ይችላል።

መለኪያዎች እንደ SSH ቁልፎች፣ የባዮሜትሪክ የማረጋገጫ ውሂብ፣ ምስል፣ ኢሜይል፣ አድራሻ፣ የሰዓት ሰቅ፣ ቋንቋ፣ ሂደት እና የማህደረ ትውስታ ገደቦች፣ ተጨማሪ ሰፈሮች ባንዲራዎች (nodev፣ noexec፣ nosuid)፣ ያገለገሉ የተጠቃሚ IMAP/SMTP አገልጋዮችን የመሳሰሉ ተጨማሪ መረጃዎችን ሊያካትቱ ይችላሉ። , የወላጅ መቆጣጠሪያዎችን ስለማስቻል መረጃ, የመጠባበቂያ አማራጮች, ወዘተ. መለኪያዎችን ለመጠየቅ እና ለመተንተን ኤ ፒ አይ ቀርቧል ቫርሊንክ.

የዩአይዲ/ጂአይዲ ምደባ እና ሂደት የቤት ዳይሬክተሩ በተገናኘበት እያንዳንዱ የአካባቢ ስርዓት ላይ በተለዋዋጭ መንገድ ይከናወናል። የታቀደውን ስርዓት በመጠቀም ተጠቃሚው የቤቱን ማውጫ ከእሱ ጋር ለምሳሌ በፍላሽ አንፃፊ ማስቀመጥ እና በማንኛውም ኮምፒዩተር ላይ መለያ ሳይፈጥር የስራ አካባቢ ማግኘት ይችላል (የቤት ማውጫው ምስል ያለበት ፋይል መኖር) ወደ ተጠቃሚው ውህደት ይመራል).

ለውሂብ ምስጠራ የLUKS2 ንኡስ ሲስተም ለመጠቀም ታቅዷል፣ ነገር ግን ሲስተድ-ሆሜድ ሌሎች የጀርባ አዘጋጆችን መጠቀም ያስችላል፣ ለምሳሌ ላልመሰጠሩ ማውጫዎች፣ Btrfs፣ Fscrypt እና CIFS አውታረ መረብ ክፍልፋዮች። ተንቀሳቃሽ ማውጫዎችን ለማስተዳደር የ homectl መገልገያ ቀርቧል ፣ ይህም የቤት ማውጫዎችን ምስሎችን ለመፍጠር እና ለማንቃት እንዲሁም መጠኖቻቸውን ለመቀየር እና የይለፍ ቃል እንዲያዘጋጁ ያስችልዎታል።

በስርአት ደረጃ ስራው በሚከተሉት አካላት የተረጋገጠ ነው፡

  • systemd-homed.service - የቤት ማውጫውን ያስተዳድራል እና የJSON መዝገቦችን በቀጥታ ወደ የቤት ማውጫ ምስሎች ይከተታል;
  • pam_systemd - ተጠቃሚው ሲገባ እና በነቃ ክፍለ ጊዜ አውድ ውስጥ ሲተገብራቸው ከJSON መገለጫ መለኪያዎችን ያስኬዳል (ማረጋገጫ ያከናውናል፣ የአካባቢ ተለዋዋጮችን ያዋቅራል፣ ወዘተ.);
  • systemd-logind.service - ተጠቃሚው ሲገባ ከ JSON ፕሮፋይል ግቤቶችን ያስኬዳል, የተለያዩ የንብረት አስተዳደር ቅንብሮችን ይተገብራል እና ገደቦችን ያዘጋጃል;
  • nss-systemd - NSS ሞጁል ለ glibc፣ በJSON ፕሮፋይል ላይ ተመስርተው ክላሲክ NSS መዝገቦችን ያዋህዳል፣ ከ UNIX የተጠቃሚ ማቀናበሪያ API (/etc/password) ጋር ወደ ኋላ ተኳኋኝነት ይሰጣል።
  • PID 1 - በተለዋዋጭ ተጠቃሚዎችን ይፈጥራል (በአሃዶች ውስጥ የ DynamicUser መመሪያን በመጠቀም በአናሎግ የተዋሃደ) እና ለተቀረው ስርዓት እንዲታዩ ያደርጋቸዋል።
  • systemd-userdbd.service - UNIX/glibc NSS መለያዎችን ወደ JSON መዛግብት ይተረጉማል እና በመዝገቦች ላይ ለመጠየቅ እና ለመድገም የተዋሃደ Varlink API ያቀርባል።

የታቀደው ስርዓት ጥቅሞች / ወዘተ ማውጫን በተነባቢ-ብቻ ሁነታ ላይ ሲጫኑ ተጠቃሚዎችን የማስተዳደር ችሎታ, መለያዎችን (UID / GID) በሲስተሞች መካከል የማመሳሰል አስፈላጊነት አለመኖር, የተጠቃሚው ከአንድ የተወሰነ ኮምፒዩተር ነፃ መሆን, የተጠቃሚ ውሂብን ማገድን ያጠቃልላል. በእንቅልፍ ሁነታ, ምስጠራን እና ዘመናዊ የማረጋገጫ ዘዴዎችን መጠቀም. Systemd-homed በስርዓተ-ነገር ዋና ዥረት ውስጥ በመልቀቅ 244 ወይም 245 ውስጥ ለመካተት ታቅዷል።

ምሳሌ JSON የተጠቃሚ መገለጫ፡-

"autoLogin": እውነት,
"ማሰር": {
«15e19cd24e004b949ddaac60c74aa165» : {
"fileSystemType" : "ext4"
«fileSystemUUID» : «758e88c8-5851-4a2a-b98f-e7474279c111»,
"ጊድ": 60232,
"homeDirectory" : "/ቤት/ሙከራ",
"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",
"ዩድ": 60233
}
},
"disposition" : "መደበኛ",
"የይለፍ ቃል ማስፈጸሚያ ፖሊሲ": ውሸት,
"lastChangeUSec"፡ 1565951024279735፣
" አባል" : [
"ጎማ"
],
"ታላላቅ": {
"hashedPassword": [
«$6$WHBKvAFFT9jKPA4k$OPY4D5…/»
]}
"ፊርማ":
{
"ዳታ" : "LU/HeVrPZSzi3M3J...==",
"ቁልፍ" : "——ህዝባዊ ቁልፍ ጀምር——\nMCowBQADK2VwAy…=\n——የመጨረሻ የህዝብ ቁልፍ——\n"
}
],
"userName" : "ሙከራ",
"ሁኔታ": {
«15e19cf24e004b949dfaac60c74aa165» : {
"goodAuthenticationCounter": 16,
"lastGoodAuthenticationUSec"፡ 1566309343044322፣
"rateLimitBeginUSec"፡ 1566309342341723፣
"ተመን ገደብ" : 1,
"state" : "የቦዘነ",
"አገልግሎት": "io.systemd.Home",
"ዲስክ መጠን": 161218667776,
"ዲስክCeiling": 191371729408,
"ዲስክ ፍሎር": 5242780,
"በአካባቢው የተፈረመ"፡ እውነት
}
}

ምንጭ: opennet.ru

አስተያየት ያክሉ