પોર્ટેબલ હોમ ડિરેક્ટરીઓનું સંચાલન કરવા માટે systemd-homed રજૂ કર્યું

લેનાર્ટ પોએટરિંગ રજૂઆત કરી (પીડીએફ) ઓલ સિસ્ટમ્સ ગો 2019 કોન્ફરન્સમાં, સિસ્ટમ મેનેજરનું નવું ઘટક systemd - સિસ્ટમ-ઘર, વપરાશકર્તાની હોમ ડિરેક્ટરીઓને પોર્ટેબલ અને સિસ્ટમ સેટિંગ્સથી અલગ બનાવવાનો હેતુ છે. પ્રોજેક્ટનો મુખ્ય વિચાર વપરાશકર્તા ડેટા માટે સ્વ-પર્યાપ્ત વાતાવરણ બનાવવાનો છે જે ઓળખકર્તા સિંક્રનાઇઝેશન અને ગોપનીયતા વિશે ચિંતા કર્યા વિના વિવિધ સિસ્ટમો વચ્ચે ટ્રાન્સફર કરી શકાય છે.

હોમ ડાયરેક્ટરી એન્વાયર્નમેન્ટ માઉન્ટેડ ઈમેજ ફાઈલના રૂપમાં આવે છે, જેમાં ડેટા એન્ક્રિપ્ટેડ છે. વપરાશકર્તા ઓળખપત્રો સિસ્ટમ સેટિંગ્સને બદલે હોમ ડિરેક્ટરી સાથે જોડાયેલા છે - /etc/passwd અને /etc/shadow ને બદલે પ્રોફાઇલ JSON ફોર્મેટમાં, ~/.identity ડિરેક્ટરીમાં સંગ્રહિત. પ્રોફાઇલમાં નામ, પાસવર્ડ હેશ, એન્ક્રિપ્શન કી, ક્વોટા અને ફાળવેલ સંસાધનો વિશેની માહિતી સહિત વપરાશકર્તાના કાર્ય માટે જરૂરી પરિમાણો શામેલ છે. બાહ્ય Yubikey ટોકન પર સંગ્રહિત ડિજિટલ હસ્તાક્ષર સાથે પ્રોફાઇલને પ્રમાણિત કરી શકાય છે.

પરિમાણોમાં વધારાની માહિતી જેમ કે SSH કી, બાયોમેટ્રિક પ્રમાણીકરણ ડેટા, ઇમેજ, ઇમેઇલ, સરનામું, સમય ઝોન, ભાષા, પ્રક્રિયા અને મેમરી મર્યાદા, વધારાના માઉન્ટ ફ્લેગ્સ (nodev, noexec, nosuid), વપરાયેલ વપરાશકર્તા IMAP/SMTP સર્વર વિશેની માહિતી પણ શામેલ હોઈ શકે છે. , પેરેંટલ કંટ્રોલ્સ, બેકઅપ વિકલ્પો વગેરેને સક્ષમ કરવા વિશેની માહિતી. પરિમાણોને વિનંતી કરવા અને પાર્સ કરવા માટે API પ્રદાન કરવામાં આવે છે વર્લિંક.

UID/GID સોંપણી અને પ્રક્રિયા દરેક સ્થાનિક સિસ્ટમ પર ગતિશીલ રીતે કરવામાં આવે છે જેની સાથે હોમ ડિરેક્ટરી જોડાયેલ છે. સૂચિત સિસ્ટમનો ઉપયોગ કરીને, વપરાશકર્તા તેની હોમ ડિરેક્ટરી પોતાની પાસે રાખી શકે છે, ઉદાહરણ તરીકે ફ્લેશ ડ્રાઇવ પર, અને તેના પર સ્પષ્ટપણે એકાઉન્ટ બનાવ્યા વિના કોઈપણ કમ્પ્યુટર પર કાર્યકારી વાતાવરણ મેળવી શકે છે (હોમ ડિરેક્ટરીની છબી સાથેની ફાઇલની હાજરી વપરાશકર્તાના સંશ્લેષણ તરફ દોરી જાય છે).

ડેટા એન્ક્રિપ્શન માટે LUKS2 સબસિસ્ટમનો ઉપયોગ કરવાની દરખાસ્ત કરવામાં આવી છે, પરંતુ systemd-homed અન્ય બેકએન્ડના ઉપયોગને પણ પરવાનગી આપે છે, ઉદાહરણ તરીકે, એનક્રિપ્ટેડ ડિરેક્ટરીઓ, Btrfs, Fscrypt અને CIFS નેટવર્ક પાર્ટીશનો માટે. પોર્ટેબલ ડિરેક્ટરીઓનું સંચાલન કરવા માટે, હોમસીટીએલ યુટિલિટી પ્રસ્તાવિત છે, જે તમને હોમ ડિરેક્ટરીઓની છબીઓ બનાવવા અને સક્રિય કરવા, તેમજ તેમનું કદ બદલવા અને પાસવર્ડ સેટ કરવાની મંજૂરી આપે છે.

સિસ્ટમ સ્તરે, નીચેના ઘટકો દ્વારા કાર્યની ખાતરી કરવામાં આવે છે:

  • systemd-homed.service - હોમ ડિરેક્ટરીનું સંચાલન કરે છે અને JSON રેકોર્ડ્સને સીધા હોમ ડિરેક્ટરી ઈમેજોમાં એમ્બેડ કરે છે;
  • pam_systemd - જ્યારે વપરાશકર્તા લૉગ ઇન કરે છે અને તેને સક્રિય કરેલ સત્રના સંદર્ભમાં લાગુ કરે છે ત્યારે JSON પ્રોફાઇલમાંથી પેરામીટર્સની પ્રક્રિયા કરે છે (પ્રમાણીકરણ કરે છે, પર્યાવરણ ચલોને ગોઠવે છે, વગેરે);
  • systemd-logind.service - જ્યારે વપરાશકર્તા લૉગ ઇન કરે છે, વિવિધ રિસોર્સ મેનેજમેન્ટ સેટિંગ્સ લાગુ કરે છે અને મર્યાદા સેટ કરે છે ત્યારે JSON પ્રોફાઇલમાંથી પેરામીટર્સની પ્રક્રિયા કરે છે;
  • nss-systemd - glibc માટે NSS મોડ્યુલ, JSON પ્રોફાઇલ પર આધારિત ક્લાસિક NSS રેકોર્ડનું સંશ્લેષણ કરે છે, જે UNIX વપરાશકર્તા પ્રોસેસિંગ API (/etc/password) સાથે પછાત સુસંગતતા પ્રદાન કરે છે;
  • PID 1 - ગતિશીલ રીતે વપરાશકર્તાઓ બનાવે છે (એકમોમાં DynamicUser ડાયરેક્ટિવના ઉપયોગ સાથે સામ્યતા દ્વારા સંશ્લેષણ) અને તેમને બાકીની સિસ્ટમ માટે દૃશ્યમાન બનાવે છે;
  • systemd-userdbd.service - UNIX/glibc NSS એકાઉન્ટ્સને JSON રેકોર્ડ્સમાં અનુવાદિત કરે છે અને રેકોર્ડ્સ પર ક્વેરી કરવા અને પુનરાવર્તિત કરવા માટે એકીકૃત Varlink API પ્રદાન કરે છે.

સૂચિત સિસ્ટમના ફાયદાઓમાં /etc ડિરેક્ટરીને ફક્ત-વાંચવા મોડમાં માઉન્ટ કરતી વખતે વપરાશકર્તાઓને સંચાલિત કરવાની ક્ષમતા, સિસ્ટમો વચ્ચે ઓળખકર્તાઓ (UID/GID) ને સિંક્રનાઇઝ કરવાની જરૂરિયાતની ગેરહાજરી, ચોક્કસ કમ્પ્યુટરથી વપરાશકર્તાની સ્વતંત્રતા, વપરાશકર્તા ડેટાને અવરોધિત કરવાનો સમાવેશ થાય છે. સ્લીપ મોડ દરમિયાન, એન્ક્રિપ્શન અને આધુનિક પ્રમાણીકરણ પદ્ધતિઓનો ઉપયોગ. Systemd-homed ને રિલીઝ 244 અથવા 245 માં systemd મુખ્ય પ્રવાહમાં સામેલ કરવાની યોજના છે.

ઉદાહરણ JSON વપરાશકર્તા પ્રોફાઇલ:

"ઓટોલોગિન" : સાચું,
"બંધનકર્તા" : {
«15e19cd24e004b949ddaac60c74aa165» : {
"ફાઇલસિસ્ટમ પ્રકાર" : "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
}
},
"સ્વભાવ" : "નિયમિત",
"EnforcePasswordPolicy" : ખોટા,
"lastChangeUSec" : 1565951024279735,
"ના સભ્ય" : [
"વ્હીલ"
],
"વિશેષાધિકૃત" : {
"hashedPassword" : [
«$6$WHBKvAFFT9jKPA4k$OPY4D5…/»
] },
"સહી" : [
{
"ડેટા" : "LU/HeVrPZSzi3M3J...==",
"key" : "——સાર્વજનિક કી શરૂ કરો——\nMCowBQADK2VwAy…=\n——પબ્લિક કી સમાપ્ત કરો——\n"
}
],
"userName" : "પરીક્ષણ",
"સ્થિતિ" : {
«15e19cf24e004b949dfaac60c74aa165» : {
"ગુડ ઓથેન્ટિકેશન કાઉન્ટર": 16,
"lastGoodAuthenticationUSec" : 1566309343044322,
"રેટ લિમિટબેગીનયુસેક" : 1566309342341723,
"રેટ લિમિટકાઉન્ટ" : 1,
"સ્ટેટ" : "નિષ્ક્રિય",
"service" : "io.systemd.Home",
"ડિસ્કસાઇઝ" : 161218667776,
"ડિસ્ક સીલિંગ": 191371729408,
"ડિસ્કફ્લોર": 5242780,
"Locally" : સાચું
}
}

સોર્સ: opennet.ru

એક ટિપ્પણી ઉમેરો