போர்ட்டபிள் ஹோம் டைரக்டரிகளை நிர்வகிக்க systemd-homed அறிமுகப்படுத்தப்பட்டது

லெனார்ட் போட்டரிங் சமர்ப்பிக்க (எம்) அனைத்து சிஸ்டம்ஸ் கோ 2019 மாநாட்டில், சிஸ்டம் மேனேஜர் systemd இன் புதிய கூறு - systemd-homed, பயனர் முகப்பு கோப்பகங்களை கையடக்கமாகவும் கணினி அமைப்புகளிலிருந்து தனித்தனியாகவும் மாற்றுவதை நோக்கமாகக் கொண்டது. அடையாளங்காட்டி ஒத்திசைவு மற்றும் ரகசியத்தன்மையைப் பற்றி கவலைப்படாமல் வெவ்வேறு அமைப்புகளுக்கு இடையில் மாற்றக்கூடிய பயனர் தரவுகளுக்கான தன்னிறைவான சூழல்களை உருவாக்குவதே திட்டத்தின் முக்கிய யோசனை.

ஹோம் டைரக்டரி சூழல் ஒரு ஏற்றப்பட்ட படக் கோப்பின் வடிவத்தில் வருகிறது, இதில் தரவு குறியாக்கம் செய்யப்படுகிறது. /etc/passwd மற்றும் /etc/shadow க்கு பதிலாக - பயனர் நற்சான்றிதழ்கள் கணினி அமைப்புகளை விட முகப்பு கோப்பகத்துடன் இணைக்கப்பட்டுள்ளன. சுயவிவர JSON வடிவத்தில், ~/.அடையாளக் கோப்பகத்தில் சேமிக்கப்படும். பெயர், கடவுச்சொல் ஹாஷ், குறியாக்க விசைகள், ஒதுக்கீடுகள் மற்றும் ஒதுக்கப்பட்ட ஆதாரங்கள் பற்றிய தகவல்கள் உட்பட பயனரின் பணிக்குத் தேவையான அளவுருக்கள் சுயவிவரத்தில் உள்ளன. வெளிப்புற Yubikey டோக்கனில் சேமிக்கப்பட்ட டிஜிட்டல் கையொப்பத்துடன் சுயவிவரம் சான்றளிக்கப்படலாம்.

அளவுருக்கள் SSH விசைகள், பயோமெட்ரிக் அங்கீகார தரவு, படம், மின்னஞ்சல், முகவரி, நேர மண்டலம், மொழி, செயல்முறை மற்றும் நினைவக வரம்புகள், கூடுதல் மவுண்ட் கொடிகள் (nodev, noexec, nosuid), பயன்படுத்திய பயனர் IMAP/SMTP சேவையகங்களைப் பற்றிய தகவல் போன்ற கூடுதல் தகவல்களையும் உள்ளடக்கியிருக்கலாம். , பெற்றோர் கட்டுப்பாடுகள், காப்புப் பிரதி விருப்பங்கள் போன்றவற்றை இயக்குவது பற்றிய தகவல். அளவுருக்களைக் கோருவதற்கும் அலசுவதற்கும் API வழங்கப்படுகிறது வர்லிங்க்.

ஹோம் டைரக்டரி இணைக்கப்பட்டுள்ள ஒவ்வொரு உள்ளூர் அமைப்பிலும் UID/GID ஒதுக்கீடு மற்றும் செயலாக்கம் மாறும் வகையில் செய்யப்படுகிறது. முன்மொழியப்பட்ட அமைப்பைப் பயன்படுத்தி, பயனர் தனது முகப்பு கோப்பகத்தை தன்னுடன் வைத்திருக்க முடியும், எடுத்துக்காட்டாக, ஒரு ஃபிளாஷ் டிரைவில், மற்றும் எந்தவொரு கணினியிலும் ஒரு கணக்கை வெளிப்படையாக உருவாக்காமல் (முகப்பு கோப்பகத்தின் படத்துடன் ஒரு கோப்பின் இருப்பு) பணிச்சூழலைப் பெறலாம். பயனரின் தொகுப்புக்கு வழிவகுக்கிறது).

தரவு குறியாக்கத்திற்கு LUKS2 துணை அமைப்பைப் பயன்படுத்த முன்மொழியப்பட்டது, ஆனால் systemd-homed மற்ற பின்தளங்களைப் பயன்படுத்த அனுமதிக்கிறது, எடுத்துக்காட்டாக, மறைகுறியாக்கப்படாத கோப்பகங்கள், Btrfs, Fscrypt மற்றும் CIFS நெட்வொர்க் பகிர்வுகள். கையடக்க கோப்பகங்களை நிர்வகிக்க, homectl பயன்பாடு முன்மொழியப்பட்டது, இது முகப்பு கோப்பகங்களின் படங்களை உருவாக்கவும் செயல்படுத்தவும் அனுமதிக்கிறது, அத்துடன் அவற்றின் அளவை மாற்றவும் கடவுச்சொல்லை அமைக்கவும் உங்களை அனுமதிக்கிறது.

கணினி மட்டத்தில், பின்வரும் கூறுகளால் வேலை உறுதி செய்யப்படுகிறது:

  • systemd-homed.service - முகப்பு கோப்பகத்தை நிர்வகிக்கிறது மற்றும் JSON பதிவுகளை நேரடியாக முகப்பு அடைவுப் படங்களில் உட்பொதிக்கிறது;
  • pam_systemd - பயனர் உள்நுழையும் போது JSON சுயவிவரத்திலிருந்து அளவுருக்களை செயலாக்குகிறது மற்றும் செயல்படுத்தப்பட்ட அமர்வின் சூழலில் அவற்றைப் பயன்படுத்துகிறது (அங்கீகாரத்தைச் செய்கிறது, சூழல் மாறிகளை உள்ளமைக்கிறது, முதலியன);
  • systemd-logind.service - பயனர் உள்நுழையும் போது JSON சுயவிவரத்திலிருந்து அளவுருக்களை செயலாக்குகிறது, பல்வேறு வள மேலாண்மை அமைப்புகளைப் பயன்படுத்துகிறது மற்றும் வரம்புகளை அமைக்கிறது;
  • nss-systemd - glibcக்கான NSS தொகுதி, JSON சுயவிவரத்தின் அடிப்படையில் கிளாசிக் NSS பதிவுகளை ஒருங்கிணைக்கிறது, UNIX பயனர் செயலாக்க API (/etc/password) உடன் பின்தங்கிய இணக்கத்தை வழங்குகிறது;
  • PID 1 - மாறும் வகையில் பயனர்களை உருவாக்குகிறது (அலகுகளில் உள்ள டைனமிக் யூசர் டைரக்டிவ் உடன் ஒப்புமை மூலம் ஒருங்கிணைக்கப்பட்டது) மற்றும் அவர்களை மற்ற கணினியில் காணும்படி செய்கிறது;
  • systemd-userdbd.service - UNIX/glibc NSS கணக்குகளை JSON பதிவுகளாக மொழிபெயர்க்கிறது மற்றும் பதிவுகளை வினவுவதற்கும் மீண்டும் மீண்டும் செய்வதற்கும் ஒரு ஒருங்கிணைந்த Varlink API ஐ வழங்குகிறது.

முன்மொழியப்பட்ட அமைப்பின் நன்மைகள், /etc கோப்பகத்தை படிக்க-மட்டும் பயன்முறையில் ஏற்றும்போது பயனர்களை நிர்வகிக்கும் திறன், அமைப்புகளுக்கு இடையே அடையாளங்காட்டிகளை (UID/GID) ஒத்திசைக்க வேண்டிய அவசியம் இல்லாதது, குறிப்பிட்ட கணினியிலிருந்து பயனர் சுதந்திரம், பயனர் தரவைத் தடுப்பது ஆகியவை அடங்கும். ஸ்லீப் பயன்முறையின் போது, ​​குறியாக்கம் மற்றும் நவீன அங்கீகார முறைகளின் பயன்பாடு. Systemd-homed வெளியீடு 244 அல்லது 245 இல் systemd பிரதான நீரோட்டத்தில் சேர்க்க திட்டமிடப்பட்டுள்ளது.

உதாரணம் JSON பயனர் சுயவிவரம்:

"autoLogin" : உண்மை,
"பிணைப்பு" : {
«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»,
"சேமிப்பு" : "லக்ஸ்",
"uid" : 60233
}
},
"இயல்பு" : "வழக்கமான",
"செயல்படுத்தும் கடவுச்சொல் கொள்கை" : தவறான,
"lastChangeUSec" : 1565951024279735,
"உறுப்பினர்" : [
"சக்கரம்"
],
"சலுகை" : {
"hashedPassword" : [
«$6$WHBKvAFFT9jKPA4k$OPY4D5…/»
] },
"கையொப்பம்" : [
{
"data" : "LU/HeVrPZSzi3M3J...==",
"key" : "——பொது விசையை தொடங்கு——\nMCowBQADK2VwAy…=\n——முடிவு பொது விசை——\n"
}
],
"பயனர் பெயர்" : "சோதனை",
"நிலை" : {
«15e19cf24e004b949dfaac60c74aa165» : {
"goodAuthenticationCounter": 16,
"lastGoodAuthenticationUSec" : 1566309343044322,
"rateLimitBeginUSec" : 1566309342341723,
"விகித வரம்பு" : 1,
"நிலை" : "செயலற்றது",
"சேவை" : "io.systemd.Home",
"diskSize" : 161218667776,
"டிஸ்க் சீலிங்": 191371729408,
"diskFloor": 5242780,
"உள்ளூரில் கையெழுத்திட்டது" : உண்மை
}
}

ஆதாரம்: opennet.ru

கருத்தைச் சேர்