پورٹیبل ہوم ڈائریکٹریز کو منظم کرنے کے لیے systemd-homed متعارف کرایا

لینارٹ پوئٹرنگ متعارف کرایا (PDF) آل سسٹمز گو 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) کو ہم آہنگ کرنے کی ضرورت کی عدم موجودگی، مخصوص کمپیوٹر سے صارف کی آزادی، صارف کے ڈیٹا کو مسدود کرنا شامل ہے۔ سلیپ موڈ کے دوران، انکرپشن اور جدید تصدیقی طریقوں کا استعمال۔ سسٹمڈ ہوم کو ریلیز 244 یا 245 میں سسٹمڈ مین اسٹریم میں شامل کرنے کا منصوبہ ہے۔

مثال JSON صارف پروفائل:

"آٹو لاگ ان": سچ،
"بائنڈنگ" : {
«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،
"کا رکن" : ​​[
"پہیہ"
],
"استحقاق یافتہ" : {
"ہیشڈ پاس ورڈ" : [
«$6$WHBKvAFFT9jKPA4k$OPY4D5…/»
] }،
"دستخط" : [
{
"ڈیٹا" : "LU/HeVrPZSzi3M3J...=="،
"key" : "——شروع کریں عوامی کلید——\nMCowBQADK2VwAy…=\n—— عوامی کلید کو ختم کریں——\n"
}
],
"userName" : "ٹیسٹ"،
"حالت" : {
«15e19cf24e004b949dfaac60c74aa165» : {
"goodAuthentication Counter": 16،
"lastGoodAuthenticationUSec" : 1566309343044322،
"rateLimitBeginUSec" : 1566309342341723،
"ریٹ لِمِٹ کاؤنٹ" : 1،
"state" : "غیر فعال"
"service" : "io.systemd.Home"،
"ڈسک سائز" : 161218667776،
"ڈسک سیلنگ": 191371729408،
"ڈسک فلور": 5242780،
"signedLocally" : سچ ہے۔
}
}

ماخذ: opennet.ru

نیا تبصرہ شامل کریں