SYSTEMD-HOMED.SERVICE(8) systemd-homed.service SYSTEMD-HOMED.SERVICE(8)

systemd-homed.service, systemd-homed - سرویس مدیریت پوشه‌های خانگی کاربران

systemd-homed.service

/usr/lib/systemd/systemd-homed

systemd-homed یک سرویس سیستمی است که می‌تواند برای ایجاد، حذف، تغییر یا بازرسی محدوده‌های خانگی (دایرکتوری‌ها، اتصالات شبکه و دستگاه‌های بلوکی واقعی یا لوپ‌بک دارای فایل‌سیستم، با رمزنگاری اختیاری) استفاده شود.

بیشتر قابلیت‌های systemd-homed از طریق دستور homectl(1) قابل دسترسی است.

برای جزئیات درباره قالب و طراحی محدوده‌های خانگی مدیریت‌شده توسط systemd-homed.service مستندات Home Directories[1] را ببینید.

هر دایرکتوری خانگی مدیریت‌شده توسط systemd-homed.service یک کاربر و گروه محلی ایجاد (سنتز) می‌کند. این موارد با استفاده از User/Group Record Lookup API via Varlink[2] در دسترس سیستم قرار می‌گیرند و بنابراین می‌توان با userdbctl(1) آن‌ها را مرور کرد.

سرویس systemd-homed.service همچنین دایرکتوری‌های blob را برای هر دایرکتوری خانگی که مدیریت می‌کند، مدیریت می‌نماید. برای جزئیات بیشتر User Record Blob Directories[3] را ببینید.

رکوردهای کاربری با یک جفت‌کلید عمومی/خصوصی به‌صورت رمزنگاری‌شده امضا می‌شوند (امضا بخشی از خود رکورد JSON است). برای اینکه به یک کاربر اجازه داده شود به‌صورت محلی وارد سیستم شود، کلید عمومی منطبق بر امضای رکورد کاربری او باید نصب شده باشد. همچنین برای اینکه یک رکورد کاربری به‌صورت محلی قابل تغییر باشد، کلید خصوصی منطبق بر امضا نیز باید به‌صورت محلی نصب شده باشد. کلیدها در دایرکتوری /var/lib/systemd/home/ ذخیره می‌شوند:

/var/lib/systemd/home/local.private

کلید خصوصی مربوط به جفت‌کلید عمومی/خصوصی استفاده‌شده برای رکوردهای محلی. در حال حاضر، تنها یک کلید از این نوع می‌تواند نصب شود.

افزوده‌شده در نسخه 246.

/var/lib/systemd/home/local.public

کلید عمومی مربوط به جفت‌کلید عمومی/خصوصی استفاده‌شده برای رکوردهای محلی. در حال حاضر، تنها یک کلید از این نوع می‌تواند نصب شود.

افزوده‌شده در نسخه 246.

/var/lib/systemd/home/*.public

کلیدهای عمومی اضافی. هر کاربری که رکوردهای کاربری او با هر یک از این کلیدها امضا شده باشد، مجاز به ورود محلی است. تعداد دلخواهی از کلیدها را می‌توان به این روش نصب کرد.

افزوده‌شده در نسخه 246.

همه فایل‌های کلید فهرست‌شده در بالا در قالب PEM هستند.

بنابراین، به منظور مهاجرت یک دایرکتوری خانگی از یک میزبان "foobar" به میزبان دیگر "quux" کافی است فایل /var/lib/systemd/home/local.public از میزبان "foobar" به "quux" کپی شود، و شاید نام فایل در مقصد به /var/lib/systemd/home/foobar.public تغییر داده شود تا منشأ کلید را نشان دهد. اگر رکورد کاربری باید در "quux" قابل تغییر باشد، جفت‌کلید /var/lib/systemd/home/local.public و /var/lib/systemd/home/local.private باید از "foobar" به "quux" کپی شده و در آنجا تحت مسیرهای یکسان قرار گیرند، زیرا در حال حاضر تنها یک کلید خصوصی در هر میزبان پشتیبانی می‌شود. البته توجه داشته باشید که مورد دوم به این معناست که رکوردهای کاربری ایجاد/امضاشده پیش از کپی شدن جفت‌کلید، اعتبار خود را از دست می‌دهند.

SIGUSR1

با دریافت سیگنال فرایند SIGUSR1، سرویس systemd-homed پایش‌های فایل (file watches) خود را روی /home/ مجدداً برقرار کرده و دایرکتوری را برای دایرکتوری‌های خانگی دوباره اسکن می‌کند.

افزوده‌شده در نسخه 258.

systemd(1), homed.conf(5), homectl(1), pam_systemd_home(8), userdbctl(1), org.freedesktop.home1(5)

1.
Home Directories
2.
User/Group Record Lookup API via Varlink
3.
User Record Blob Directories
systemd 261.2