خصائص سجل المستخدم¶
تتحكم
الخيارات
التالية في
الخصائص
المتنوعة
لسجلات
المستخدم/مجلدات
المنزل
التي
يديرها systemd-homed.service.
يمكن
استخدام
هذه
المفاتيح
بالاقتران
مع أمري create و
update لضبط
الجوانب
المختلفة
لمجلد
المنزل
وحساب
المستخدم:
--real-name=الاسم،
-c الاسم
الاسم
الحقيقي
للمستخدم.
هذا يقابل
حقل GECOS في
سجلات UNIX NSS
التقليدية.
أُضيف في
الإصدار 245.
--realm=مجال
المجال
الخاص
بالمستخدم.
يربط
المجال
المستخدم
بجهة أو
تثبيت
معين،
ويسمح
بتمييز
المستخدمين
الذين
يحملون
الاسم نفسه
والمعرفين
في سياقات
مختلفة.
يمكن أن
يكون
المجال أي
سلسلة تصلح
أيضًا كاسم
نطاق DNS صالح،
ويوصى
باستخدام
اسم نطاق
الجهة أو
التثبيت
لهذا
الغرض،
ولكن هذا
ليس
مفروضاً
ولا
مطلوباً. في
كل نظام
يمكن أن
يوجد
مستخدم
واحد فقط
بنفس
الاسم،
وإذا شُوهد
مستخدم
بنفس الاسم
والمجال
فيُفترض
أنه يشير
إلى
المستخدم
نفسه،
بينما
يُعتبر
المستخدم
الذي يحمل
الاسم نفسه
ولكن بمجال
مختلف
مستخدماً
مختلفاً.
لاحظ أن هذا
يعني أنه لا
يُسمح
لمستخدمين
يشتركان في
الاسم نفسه
ولكن
بمجالات
متميزة
بالتواجد
في النظام
نفسه. تعيين
مجال
للمستخدم
أمر
اختياري.
أُضيف في
الإصدار 245.
--email-address=بريد_الإلكتروني
يأخذ
عنوان بريد
إلكتروني
لربطه
بالمستخدم.
عند
الولوج،
يُهيأ
متغير
البيئة
$EMAIL
من هذه
القيمة.
أُضيف في
الإصدار 245.
--location=نص
يأخذ
مواصفات
الموقع
لهذا
المستخدم.
هذا نص حر،
قد يكون أو
لا يكون
قابلاً
للاستخدام
من قبل
تطبيقات
تحديد
الموقع
الجغرافي.
مثال:
--location="Berlin,
Germany" أو
--location="Basement, Room
3a"
أُضيف في
الإصدار 245.
--icon-name=أيقونة
يأخذ اسم
أيقونة
لربطه
بالمستخدم،
متبعاً
المخطط
المحدد في
مواصفة
تسمية
الأيقونات[2].
أُضيف في
الإصدار 245.
--home-dir=مسار،
-dمسار
يأخذ
مساراً
لاستخدامه
كمجلد منزل
للمستخدم.
لاحظ أن هذا
هو المجلد
الذي يُوصل
إليه مجلد
منزل
المستخدم
أثناء
ولوجه. ليس
هذا هو
المكان
الذي تُخزن
فيه بيانات
المستخدم
فعلياً،
انظر
--image-path=
لذلك. إذا لم
يُحدد،
فالمبدئي
هو /home/$USER.
أُضيف في
الإصدار 245.
--uid=معرف_UID
يأخذ
معرف
مستخدم
يونكس (UID)
رقمياً
مفضلاً
لتعيينه
لهذا
المستخدم.
إذا كان
سيُنشئ
مستخدم
بالمعرف
المحدد
وكان هذا
المعرف
مستخدماً
بالفعل من
قبل مستخدم
آخر في
النظام
المحلي،
فسيُرفض
إنشاء مجلد
المنزل. ومع
ذلك، لاحظ
أنه إذا
استُخدم
مجلد
المنزل بعد
إنشائه في
نظام مختلف
وكان
المعرف
المضبط
مستخدماً
من قبل
مستخدم آخر
هناك، فقد
يقوم
systemd-homed
بتعيين
معرف مختلف
للمستخدم
في ذلك
النظام. يجب
أن يكون
المعرف
المحدد
خارج نطاق
مستخدمي
النظام.
ويوصى
باستخدام
نطاق
المعرفات 60001...60513
لهذا الغرض.
إذا لم
يُحدد،
فسيُختار
المعرف
آلياً. إذا
وُجد أن
مجلد
المنزل
مملوك
لمعرف
مختلف عند
الولوج،
فستُغير
ملكية مجلد
المنزل وكل
ما بداخله
آلياً قبل
اكتمال
الولوج.
لاحظ أن
تغيير هذا
الخيار
لمجلدات
المنزل
الموجودة
لا يكون له
أي تأثير
عموماً على
مجلدات
المنزل
التي سُجلت
محلياً
بالفعل (لها
ربط binding
محلي)، حيث
إن المعرف
المستخدم
لحساب في
النظام
المحلي
يُحدد عند
تنشيط مجلد
المنزل
لأول مرة
عليه، ثم
يظل سارياً
حتى يُزال
مجلد
المنزل.
لاحظ أن
المستخدمين
الذين
يديرهم systemd-homed
لديهم
دائماً
مجموعة
مطابقة
مرتبطة
بنفس الاسم
بالإضافة
إلى معرف
مجموعة (GID)
يطابق معرف
المستخدم (UID).
وبالتالي،
لا يُسمح
بضبط معرف
المجموعة
بشكل
منفصل.
أُضيف في
الإصدار 245.
--member-of=المجموعة،
-G
المجموعة
يأخذ
قائمة
مفصولة
بفاصلات
لمجموعات
يونكس
المساعدة
التي ينتمي
إليها هذا
المستخدم.
مثال:
--member-of=wheel
لتزويد
المستخدم
بامتيازات
المدير.
لاحظ أن
systemd-homed
لا يدير أي
مجموعات
بخلاف
المجموعة
التي تطابق
اسم
المستخدم
ومعرفه
الرقمي UID/GID.
وبالتالي
يجب تسجيل
أي مجموعات
مدرجة هنا
بشكل
مستقل، على
سبيل
المثال
باستخدام
groupadd(8).
وتُتجاهل
أي مجموعات
غير موجودة.
يمكن
استخدام
هذا الخيار
أكثر من
مرة، وفي
هذه الحالة
تُجمع جميع
قوائم
المجموعات
المحددة.
إذا كان
المستخدم
حالياً
عضواً في
مجموعة غير
مدرجة،
فسيُزال
المستخدم
من تلك
المجموعة.
أُضيف في
الإصدار 245.
--capability-bounding-set=القدرات،
--capability-ambient-set=القدرات
تأخذ هذه
الخيارات
قائمة
مفصولة
بمسافات
لقدرات
العمليات
(مثلاً
CAP_WAKE_ALARM،
CAP_BLOCK_SUSPEND، ...) التي
يجب ضبطها
في مجموعات
القدرات
المحيطة
والمحددة
لجميع
جلسات
المستخدم.
انظر
capabilities(7)
لمزيد من
التفاصيل
حول مفهوم
القدرات.
يمكن
استخدام
هذه
الخيارات
أكثر من
مرة، وفي
هذه الحالة
تُجمع
القوائم
المحددة.
إذا بدأت
المعلمة
بحرف "~"
فسيُعكس
التأثير:
حيث تُسقط
القدرة
المحددة من
المجموعة
المعينة.
أُضيف في
الإصدار 254.
--skel=مسار
يأخذ
مسار نظام
ملفات إلى
دليل. يحدد
دليل
الهيكل (skeleton)
لبدء دليل
المنزل به.
تُنسخ جميع
الملفات
والأدلة
الموجودة
في المسار
المحدد إلى
أي دليل
منزل يُنشأ
حديثا. وإذا
لم يحدد،
فإنه
يستخدم /etc/skel/
مبدئيا.
أُضيف في
الإصدار 245.
--shell=صدفة
يأخذ
مسار نظام
ملفات. يحدد
الملف
التنفيذي
للصدفة
لتشغيله
عند الولوج
عبر
الطرفية.
وإذا لم
يحدد، فإنه
يستخدم /bin/bash
مبدئيا.
أُضيف في
الإصدار 245.
--setenv=المتغير[=قيمة]
يأخذ
تعيين
متغير بيئة
لضبطه
لجميع
عمليات
المستخدم.
يمكن
استخدامه
عدة مرات
لضبط
متغيرات
بيئة
متعددة. عند
حذف "=" و
قيمة،
ستُستخدم
قيمة
المتغير
الذي يحمل
نفس الاسم
في بيئة
البرنامج.
لاحظ أن
عددا من
الإعدادات
الأخرى
تؤدي أيضًا
إلى ضبط
متغيرات
البيئة
للمستخدم،
بما في ذلك
--email= و --timezone= و --language=.
أُضيف في
الإصدار 245.
--timezone=منطقة_زمنية
يأخذ اسم
موقع منطقة
زمنية لضبط
المنطقة
الزمنية
للمستخدم
المحدد.
عندما يلج
المستخدم،
يُبدأ
متغير
البيئة
$TZ من
هذا
الإعداد.
مثال:
--timezone=Europe/Amsterdam
سيؤدي إلى
متغير
البيئة
"TZ=:Europe/Amsterdam".
(تُستخدم ":"
عمدا كجزء
من تخصيص
المنطقة
الزمنية،
انظر
tzset(3).)
أُضيف في
الإصدار 245.
--language=لغة
يأخذ
قائمة من
اللغات
التي
يفضلها
المستخدم
مفصولة
بفاصلة أو
نقطتين،
مرتبة حسب
الأولوية
التنازلية.
تُبدأ
متغيرات
البيئة
$LANG و
$LANGUAGE من هذه
القيمة عند
الولوج،
وبالتالي
تُقبل هنا
القيم
المناسبة
لمتغيرات
البيئة
هذه، على
سبيل
المثال
--language=de_DE.UTF-8. يمكن
استخدام
هذا الخيار
أكثر من
مرة، وفي
هذه الحالة
تُسلسل
قوائم
اللغات.
أُضيف في
الإصدار 245.
--ssh-authorized-keys=مفاتيح
إما أن
يأخذ سطر
مفتاح SSH مخول
لربطه بسجل
المستخدم
أو حرف "@"
متبوعا
بمسار ملف
لقراءة سطر
واحد أو
أكثر من هذه
السطور منه.
تُتاح
مفاتيح SSH
المضبوطة
بهذه
الطريقة لـ SSH
للسماح
بالوصول
إلى دليل
المنزل
وسجل
المستخدم
هذا. يمكن
استخدام
هذا الخيار
أكثر من مرة
لضبط
مفاتيح SSH
متعددة.
أُضيف في
الإصدار 245.
--pkcs11-token-uri=مسار
يأخذ
مسار PKCS#11 وفق RFC 7512
يشير إلى
رمز أمان
(مثل YubiKey أو
بطاقة PIV ذكية)
يجب أن يكون
قادرا على
فك قفل حساب
المستخدم.
يجب أن يشير
مسار رمز
الأمان إلى
رمز أمان
يحتوي على
زوج واحد
بالضبط من
شهادة X.509
ومفتاح خاص.
يُنشأ بعد
ذلك مفتاح
سري
عشوائي،
ويُعمى
باستخدام
المفتاح
العام
لشهادة X.509،
ويُخزن
كجزء من سجل
المستخدم.
وفي وقت
الولوج،
تُفك
تعميته
باستخدام
وحدة PKCS#11 ثم
يُستخدم
لفك قفل
الحساب
والموارد
المرتبطة
به. انظر
أدناه
للحصول على
مثال
لكيفية
إعداد
الاستيثاق
باستخدام
رمز أمان.
بدلا من
مسار PKCS#11
صالح، يمكن
تحديد
النصوص
الخاصة "list" و
"auto". إذا مُرر
"list"، يُعرض
جدول موجز
لرموز عتاد
PKCS#11 المناسبة
والموصلة
حاليا، مع
مساراتها.
وإذا مُرر
"auto"، يُختار
رمز عتاد PKCS#11
مناسب آليا
(ستفشل هذه
العملية
إذا لم
يُكتشف رمز
واحد مناسب
بالضبط).
الخيار
الأخير هو
اختصار
مفيد
للحالة
الأكثر
شيوعا حيث
يكون هناك
رمز عتاد PKCS#11
واحد موصل.
لاحظ أن
العديد من
رموز أمان
العتاد
تدعم كلا من
PKCS#11/PIV و FIDO2 مع ملحق
"hmac-secret" (على
سبيل
المثال:
سلسلة YubiKey 5)،
كما هو
مدعوم في
الخيار --fido2-device=
أدناه. كلتا
الآليتين
قويتان
بشكل
مماثل، على
الرغم من أن
FIDO2 هي
التقنية
الأحدث.
تتمتع رموز
PKCS#11/PIV بميزة
إمكانية
التعرف
عليها قبل
الاستيثاق،
وبالتالي
يمكن
استخدامها
للإشارة
إلى هوية
المستخدم
لاستخدامها
في الولوج،
وهو ما لا
يسمح به FIDO2.
تتطلب
أجهزة PKCS#11/PIV
عموما
التهيئة (أي
تخزين زوج
مفاتيح
خاص/عام
عليها،
انظر
المثال
أدناه) قبل
استخدامها؛
أما رموز
أمان FIDO2 فلا
تتطلب ذلك
عموما،
وتعمل فور
توصيلها.
أُضيف في
الإصدار 245.
--fido2-credential-algorithm=نص
تحديد
خوارزمية COSE
المستخدمة
في إنشاء
بيانات
الاعتماد.
القيمة
المبدئية
هي "es256". القيم
المدعومة
هي "es256" و "rs256" و
"eddsa".
تشير "es256"
إلى ECDSA عبر NIST P-256
مع SHA-256. بينما
تشير "rs256" إلى
RSA بطول 2048 بت مع
حشوة PKCS#1.5 و SHA-256.
وتشير "eddsa"
إلى EDDSA عبر Curve25519
مع SHA-512.
لاحظ أن
المستوثِق
الخاص بك قد
يختار عدم
دعم بعض
الخوارزميات.
أُضيف في
الإصدار 251.
--fido2-device=مسار
يأخذ
مسارا
لجهاز Linux "hidraw"
(مثل /dev/hidraw1)،
يشير إلى
رمز أمان FIDO2
يدعم ملحق
"hmac-secret" الذي
يجب أن يكون
قادرا على
فك قفل حساب
المستخدم.
تُنشأ قيمة
تمليح
عشوائية
على المضيف
وتُمرر إلى
جهاز FIDO2،
الذي يحسب
هاش HMAC
للتمليح
باستخدام
مفتاح سري
داخلي.
تُستخدم
النتيجة
بعد ذلك
كمفتاح لفك
قفل حساب
المستخدم.
يُدرج
التمليح
العشوائي
في سجل
المستخدم،
بحيث يمكن
تمريره إلى
رمز FIDO2 مرة
أخرى كلما
دعت الحاجة
إلى
الاستيثاق.
بدلا من
مسار صالح
لجهاز FIDO2 "hidraw"،
يمكن تحديد
النصوص
الخاصة "list" و
"auto". إذا مُرر
"list"، يُعرض
جدول موجز
لأجهزة FIDO2
المكتشفة
والمناسبة.
وإذا مُرر
"auto"، يُختار
رمز FIDO2 مناسب
آليا، إذا
اكتُشف رمز
واحد
بالضبط.
الخيار
الأخير هو
اختصار
مفيد
للحالة
الأكثر
شيوعا حيث
يكون هناك
رمز عتاد FIDO2
واحد موصل.
لاحظ أن
أجهزة FIDO2
المناسبة
لهذا
الخيار يجب
أن تدعم
ملحق "hmac-secret".
تدعمه معظم
الأجهزة
الحالية
(مثل سلسلة YubiKey
5). إذا لم
يُدعم
الملحق،
فلا يمكن
استخدام
الجهاز لفك
قفل أدلة
المنزل.
يمكن
إزالة جهاز
FIDO2 لاحقا عن
طريق ضبط
مسار
الجهاز على
نص فارغ (على
سبيل
المثال homectl update $USER
--fido2-device="").
لاحظ أن
العديد من
رموز أمان
العتاد
تدعم كلا من
FIDO2 و PKCS#11/PIV
(وبالتالي
يمكن
استخدامها
مع --fido2-device= أو
--pkcs11-token-uri=)،
للنقاش
انظر
أعلاه.
أُضيف في
الإصدار 246.
--fido2-with-client-pin=قيمة_منطقية
عند
تسجيل رمز
أمان FIDO2،
يتحكم في ما
إذا كان
سيُطلب من
المستخدم
إدخال رمز PIN
عند فك قفل
الحساب
(ميزة "clientPin" في
FIDO2). القيمة
المبدئية
هي "yes".
(ملاحظة: هذا
الإعداد
ليس له
تأثير إذا
كان رمز
الأمان لا
يدعم ميزة
"clientPin" على
الإطلاق،
أو لا يسمح
بتمكينها
أو تعطيلها.)
أُضيف في
الإصدار 249.
--fido2-with-user-presence=قيمة_منطقية
عند
تسجيل رمز
أمان FIDO2،
يتحكم في ما
إذا كان
سيُطلب من
المستخدم
التحقق من
الحضور
(النقر على
الرمز،
ميزة "up" في FIDO2)
عند فك قفل
الحساب.
القيمة
المبدئية
هي "yes".
(ملاحظة: هذا
الإعداد
ليس له
تأثير إذا
كان رمز
الأمان لا
يدعم ميزة
"up" على
الإطلاق،
أو لا يسمح
بتمكينها
أو تعطيلها.)
أُضيف في
الإصدار 249.
--fido2-with-user-verification=قيمة_منطقية
عند
تسجيل رمز
أمان FIDO2،
يتحكم في ما
إذا كان
سيُطلب
التحقق من
المستخدم
عند فك قفل
الحساب
(ميزة "uv" في FIDO2).
القيمة
المبدئية
هي "no".
(ملاحظة: هذا
الإعداد
ليس له
تأثير إذا
كان رمز
الأمان لا
يدعم ميزة
"uv" على
الإطلاق،
أو لا يسمح
بتمكينها
أو تعطيلها.)
أُضيف في
الإصدار 249.
--recovery-key=قيمة_منطقية
يقبل
قيمة
منطقية
كمعامل. في
حال
تفعيله،
يُضبط
مفتاح
استرداد
للحساب.
مفتاح
الاسترداد
هو مفتاح
وصول
يُنشئه
الحاسوب
ويمكن
استخدامه
لاستعادة
الوصول إلى
الحساب إذا
نُسيت كلمة
السر أو
فُقد رمز
الاستيثاق.
يُنشأ
المفتاح
ويُعرض على
الشاشة،
ويجب
طباعته أو
نقله إلى
مكان آمن
بطريقة
أخرى. يمكن
إدخال
مفتاح
الاسترداد
بدلا من
كلمة السر
العادية
لفك قفل
الحساب.
أُضيف في
الإصدار 247.
--blob=مسار،
-b مسار،
--blob=اسم_الملف=مسار،
-b
اسم_الملف=مسار
يقبل إما
مسار دليل،
أو اسم ملف
متبوعا
بمسار ملف.
إذا حُدد
مسار دليل
فقط،
فسيُستبدل
دليل blob
بالكامل
للمستخدم
بالمسار
المحدد.
لاحظ أن هذا
الاستبدال
يُنفذ قبل
تطبيق
المعالجات
الخاصة بكل
ملف، مما
يعني أن هذه
المعالجات
ستُطبق فوق
الدليل
المحدد. إذا
حُدد اسم
ملف ومسار
ملف،
فسيُكتب
فوق ملف blob
الواحد
المحدد
بالمسار
المحدد. إذا
ترك فارغا
تماما،
فسيُفرغ
دليل blob
بالكامل
(مما يعيد
أيضًا ضبط
جميع
الأعلام
السابقة
المتعلقة
بـ blob حتى هذه
النقطة). إذا
حُدد اسم
ملف ولكن
المسار
المقابل
فارغ،
فسيُحذف
هذا الملف
الواحد من
دليل blob.
تُنفذ جميع
التغييرات
في نسخ
مؤقتة من
الملفات
المحددة في
الأدلة،
مما يعني أن
الأصول
المحددة في
سطر
الأوامر لا
تُعدل. انظر
أدلة Blob لسجل
المستخدم[3]
لمزيد من
المعلومات
حول أدلة blob.
أُضيف في
الإصدار 256.
--avatar=مسار،
--login-background=مسار
يقبل
مسار ملف. في
حال ضبطه،
يُستخدم
الملف
المحدد
للكتابة
فوق الملف
المقابل في
دليل blob الخاص
بالمستخدم.
إذا كان
فارغا،
يُحذف
الملف
المقابل من
دليل blob. في
الأساس،
هذه
الخيارات
هي
اختصارات
لـ
--blob=اسم_الملف=مسار
لأسماء
الملفات
المعروفة
المحددة في
أدلة Blob لسجل
المستخدم[3].
أُضيف في
الإصدار 256.
--locked=قيمة_منطقية
يأخذ
قيمة
منطقية
كمعامل.
يحدد ما إذا
كان يجب قفل
حساب
المستخدم
هذا. إذا
كانت
القيمة
صائبة،
يُمنع
الولوج إلى
هذا
الحساب،
وإذا كانت
خاطئة
(المبدئي)
يُسمح به
(بالطبع،
فقط إذا نجح
التخويل
بطريقة
أخرى).
أُضيف في
الإصدار 245.
--not-before=الختم_الزمني،
--not-after=الختم_الزمني
تأخذ هذه
الخيارات
نص ختم
زمني،
بالتنسيق
الموثق في
systemd.time(7) وتضبط
نقاطا
زمنية
قبلها
وبعدها لا
يُسمح
بالولوج
إلى هذا
الحساب.
أُضيف في
الإصدار 245.
--rate-limit-interval=ثوانٍ،
--rate-limit-burst=عدد
يضبط حدا
لمعدل
محاولات
الاستيثاق
لهذا
المستخدم.
إذا حاول
المستخدم
الاستيثاق
أكثر من
العدد
المحدد،
على نظام
معين، خلال
الفترة
الزمنية
المحددة،
يُرفض
الاستيثاق
حتى تنتهي
الفترة
الزمنية.
المبدئي هو 10
مرات لكل
دقيقة
واحدة.
أُضيف في
الإصدار 245.
--password-hint=نص
يأخذ
تلميحا
لكلمة السر
لتخزينه
جنبا إلى
جنب مع سجل
المستخدم.
يُخزن هذا
النص بحيث
لا يمكن
الوصول
إليه إلا
للمستخدمين
ذوي
الامتيازات
والمستخدم
نفسه ولا
يمكن
للمستخدمين
الآخرين
الاستعلام
عنه. مثال:
--password-hint="اسم أول
حيوان أليف
لي".
أُضيف في
الإصدار 245.
--enforce-password-policy=قيمة_منطقية،
-P
يأخذ
قيمة
منطقية
كمعامل.
يضبط ما إذا
كان سيُفرض
تطبيق
سياسة كلمة
سر النظام
لهذا
المستخدم،
فيما يتعلق
بجودة وقوة
كلمات السر
المختارة.
المبدئي هو
التشغيل.
-P
هو اختصار
لـ
--enforce-password-policy=no.
أُضيف في
الإصدار 245.
--password-change-now=قيمة_منطقية
يأخذ
قيمة
منطقية
كمعامل. إذا
كانت
القيمة
صائبة،
سيُطلب من
المستخدم
تغيير كلمة
سره عند
الولوج
التالي.
أُضيف في
الإصدار 245.
--password-change-min=الزمن،
--password-change-max=الزمن،
--password-change-warn=الزمن،
--password-change-inactive=الزمن
يأخذ كل
خيار من هذه
الخيارات
تعيين فترة
زمنية
كمعامل
(بالصيغة
الموثقة في
systemd.time(7)) ويضبط
جوانب
مختلفة من
سياسة
انتهاء
صلاحية
كلمة سر
المستخدم.
تحديدا،
يضبط
--password-change-min=
مقدار
الوقت الذي
يجب أن يمر
بعد تغيير
كلمة سر
المستخدم
حتى يمكن
تغيير كلمة
السر مرة
أخرى. إذا
حاول
المستخدم
تغيير كلمة
سره قبل
مرور هذا
الوقت،
تُرفض
المحاولة.
يضبط
--password-change-max=
متى تنتهي
صلاحية
كلمة السر
بعد
تغييرها
وتحتاج إلى
تغييرها
مرة أخرى.
بعد مرور
هذا الوقت،
لا يمكن
متابعة
الولوج إلا
بعد تغيير
كلمة السر.
يحدد
--password-change-warn=
مقدار
الوقت الذي
يسبق الوقت
المضبوط في
--password-change-max= والذي
يُحذر فيه
المستخدم
عند الولوج
لتغيير
كلمة سره
لأنها
ستنتهي
صلاحيتها
قريبا.
أخيرا،
يضبط
--password-change-inactive=
الوقت الذي
يجب أن يمر
بعد انتهاء
صلاحية
كلمة السر
حتى لا
يُسمح
للمستخدم
بالولوج أو
تغيير كلمة
السر بعد
الآن. لاحظ
أن هذه
الخيارات
تنطبق فقط
على
الاستيثاق
بكلمة
السر، ولا
تنطبق على
أشكال
الاستيثاق
الأخرى،
مثل
الاستيثاق
برموز
الأمان
القائم على
PKCS#11.
أُضيف في
الإصدار 245.
--disk-size=بايت
إما أن
يأخذ حجما
بالبايت
كمعامل
(ربما
باستخدام
اللاحقات
المعتادة K،
M، G، ... لقيم
الأساس 1024)،
أو قيمة
مئوية، أو
النصوص
الخاصة "min"
أو "max"،
ويضبط
مساحة
القرص
المخصصة
للمستخدم.
إذا حُددت
قيمة مئوية
(أي المعامل
الملحوق بـ
"%") فستؤخذ
بالنسبة
إلى مساحة
القرص
المتاحة
لنظام
الملفات
الخلفي. إذا
حُدد بـ "min"،
فإنه يخصص
الحد
الأدنى من
مساحة
القرص التي
تسمح بها
قيود نظام
الملفات
الخلفي
والحدود
الأخرى،
وعند
تحديده بـ
"max" يخصص
أقصى مساحة
قرص متاحة.
إذا
استُخدم
محرك LUKS2، فإن
هذا يضبط
حجم ملف loopback
ونظام
الملفات
الموجود
بداخله.
وبالنسبة
لمحركات
التخزين
الأخرى،
يضبط حصة
القرص (quota)
باستخدام
منطق الحصص
الأصلي
لنظام
الملفات،
إذا كان
متاحا. وإذا
لم يحدد،
فإنه
يستخدم 85% من
مساحة
القرص
المتاحة
لمحرك LUKS2
ومبدئيا لا
توجد حصة
للآخرين.
أُضيف في
الإصدار 245.
--access-mode=وضع
يأخذ وضع
وصول
لملفات
يونكس
مكتوباً
بالنظام
الثماني.
يضبط وضع
الوصول
لمجلد
المنزل
نفسه. لاحظ
أن هذا
يُستخدم
فقط عند
إنشاء
المجلد
لأول مرة،
ويمكن
للمستخدم
تغيير ذلك
في أي وقت
لاحقًا.
مثال:
--access-mode=0700
أُضيف في
الإصدار 245.
--umask=قناع
يأخذ
قناع وضع
الوصول
(بالصيغة
الثمانية)
ليُطبق على
الملفات
والمجلدات
المنشأة
حديثاً
للمستخدم
("umask"). إذا
ضُبط، فإنه
يتحكم في
قناع umask
الأولي
لجميع
جلسات ولوج
المستخدم،
مع إمكانية
تجاوز
القيم
المبدئية
للنظام.
أُضيف في
الإصدار 245.
--nice=أولوية
يأخذ
أولوية
الجدولة
الرقمية ("nice
level") لتطبيقها
على عمليات
المستخدم
عند وقت
الولوج.
يأخذ قيمة
رقمية في
النطاق من -20
(أعلى
أولوية) إلى 19
(أقل أولوية).
أُضيف في
الإصدار 245.
--rlimit=حد=قيمة[:قيمة]
يسمح
بضبط حدود
الموارد
لعمليات
هذا
المستخدم،
انظر
getrlimit(2)
لمزيد من
التفاصيل.
يأخذ اسم حد
المورد (مثل
"LIMIT_NOFILE") متبوعا
بعلامة
يساوي،
متبوعا بحد
رقمي.
اختياريا،
يمكن تحديد
حد رقمي
ثانٍ
مفصولا
بنقطتين.
إذا حُدد
اثنان،
فهذا يشير
إلى الحدود
اللينة
والصلبة
على
التوالي.
إذا حُدد حد
واحد فقط،
فإن
الإعداد
يضبط كلا
الحدين معا.
أُضيف في
الإصدار 245.
--tasks-max=مهام
يأخذ
عددا صحيحا
غير سالب
وغير صفري
كمعامل.
يضبط الحد
الأقصى
لعدد
المهام (أي
الخيوط،
حيث تكون كل
عملية خيطا
واحدا على
الأقل) التي
قد يمتلكها
المستخدم
في أي وقت
معين. ينطبق
هذا الحد
على جميع
المهام
المتفرعة
من جلسات
المستخدم،
حتى لو
غيروا هوية
المستخدم
عبر
su(1) أو
أداة
مماثلة.
استخدم
--rlimit=LIMIT_NPROC=
لوضع حد
للمهام
التي تعمل
فعليا تحت
معرف
المستخدم UID،
وبالتالي
استبعاد أي
عمليات
أبناء قد
غيرت هوية
المستخدم.
يتحكم هذا
في إعداد
TasksMax=
لوحدة
شريحة systemd لكل
مستخدم user-$UID.slice.
انظر
systemd.resource-control(5)
لمزيد من
التفاصيل.
أُضيف في
الإصدار 245.
--memory-high=بايتات،
--memory-max=بايتات
ضبط حد
للذاكرة
التي قد
يستهلكها
المستخدم
على نظام ما
في أي وقت
معين
بالبايت
(تدعم
اللاحقات
المعتادة K،
M، G، ... بأساس 1024).
يشمل ذلك
جميع
الذاكرة
المستخدمة
من قبل
المستخدم
نفسه وجميع
العمليات
التي فرعها
والتي غيرت
بيانات
اعتماد
المستخدم.
يتحكم هذا
في إعدادات
MemoryHigh= و
MemoryMax=
لوحدة
شريحة systemd لكل
مستخدم user-$UID.slice.
انظر
systemd.resource-control(5)
لمزيد من
التفاصيل.
أُضيف في
الإصدار 245.
--cpu-weight=الوزن،
--io-weight=الوزن
ضبط
أوزان
جدولة
المعالج
والمدخلات/المخرجات
(IO) لعمليات
المستخدم،
بما في ذلك
العمليات
المتفرعة
من قبل
المستخدم
والتي غيرت
بيانات
اعتماد
المستخدم.
يأخذ قيمة
رقمية في
النطاق 1...10000.
يتحكم هذا
في إعدادات
CPUWeight= و
IOWeight=
لوحدة
شريحة systemd لكل
مستخدم user-$UID.slice.
انظر
systemd.resource-control(5)
لمزيد من
التفاصيل.
أُضيف في
الإصدار 245.
--storage=تخزين
يختار
آلية
التخزين
المراد
استخدامها
لدليل
المنزل هذا.
يأخذ واحدا
من "luks"، "fscrypt"،
"directory"، "subvolume"، "cifs".
للحصول على
تفاصيل حول
هذه
الآليات،
انظر أعلاه.
إذا أُنشئ
دليل منزل
جديد ولم
يُحدد نوع
التخزين
تحديدا،
فإن
homed.conf(5) يحدد
التخزين
المبدئي
المراد
استخدامه.
أُضيف في
الإصدار 245.
--image-path=مسار
يأخذ
مسار نظام
ملفات. يضبط
مكان وضع
دليل منزل
المستخدم.
عند
استخدام
تخزين LUKS2،
فإنه يشير
إلى مسار
ملف loopback، وإلا
فإنه يشير
إلى مسار
دليل
المنزل
(الذي قد
يكون في /home/ أو
أي نظام
ملفات آخر
يمكن
الوصول
إليه).
وعندما لا
يحدد، فإنه
يستخدم /home/$USER.home
مبدئيا عند
استخدام
تخزين LUKS و /home/$USER.homedir
لآليات
التخزين
الأخرى. غير
محدد لآلية
التخزين "cifs".
لاستخدام
تخزين LUKS2 على
جهاز كتلي
عادي (على
سبيل
المثال
ذاكرة USB) مرر
مسار
الجهاز
الكتلي هنا.
لا يُسمح
بتحديد
مسار لدليل
هنا عند
استخدام
تخزين LUKS2.
وبالمثل،
لا يُسمح
بتحديد
مسار لملف
عادي أو
عقدة جهاز
إذا
استُخدم أي
من محركات
التخزين
الخلفية
الأخرى.
أُضيف في
الإصدار 245.
--drop-caches=قيمة_منطقية
إفراغ
خبيئات
نظام ملفات
نظام
التشغيل
آليا عند
الخروج. هذا
مفيد
بالاشتراك
مع محرك
تخزين fscrypt
لضمان عدم
احتفاظ
نظام
التشغيل
بنسخ فُكت
تعميتها من
الملفات
والأدلة في
الذاكرة
(وإمكانية
الوصول
إليها) بعد
الخروج. هذا
الخيار
مدعوم
أيضًا في
المحركات
الأخرى،
ولكن لا
ينبغي أن
يقدم أي
فائدة هناك.
المبدئي هو
الإيقاف،
إلا إذا كان
محرك
التخزين
المختار هو
fscrypt، حيث يكون
المبدئي هو
التشغيل.
لاحظ أن
إفراغ
خبيئات
نظام
التشغيل
سيؤثر سلبا
على أداء
نظام
التشغيل
لفترة
وجيزة بعد
الخروج.
أُضيف في
الإصدار 250.
--fs-type=نوع
عند
استخدام
تخزين LUKS2،
يضبط نوع
نظام
الملفات
المراد
استخدامه
داخل حاوية
LUKS2 لدليل
المنزل.
واحد من "btrfs"،
"ext4"، "xfs". إذا
لم يحدد،
فإن
homed.conf(5) يحدد
نوع نظام
الملفات
المبدئي
المراد
استخدامه.
لاحظ أن "xfs"
غير موصى به
لأن دعمه
لتغيير حجم
نظام
الملفات
محدود
للغاية.
أُضيف في
الإصدار 245.
--luks-discard=قيمة_منطقية
عند
استخدام
تخزين LUKS2،
يضبط ما إذا
كان
ستُمكّن
ميزة
"التجاهل" (discard)
لنظام
الملفات.
إذا
فُعّلت،
سيقوم نظام
الملفات
الموجود
فوق حجم LUKS2
بإبلاغ
معلومات
الكتل
الفارغة
إلى LUKS2 وملف loopback
الموجود
أسفله، مما
يضمن إعادة
المساحة
الفارغة في
دليل
المنزل إلى
نظام
الملفات
الخلفي
أسفل حجم LUKS2،
مما ينتج
عنه ملف loopback
"خفيف" (sparse).
هذا الخيار
يكون معطلا
مبدئيا في
الغالب،
لأن هذا
يسمح
بالإفراط
في تخصيص
أدلة
المنزل مما
يؤدي إلى
أخطاء
إدخال/إخراج
إذا امتلأ
نظام
الملفات
الأساسي
بينما يريد
نظام
الملفات
العلوي
تخصيص كتلة.
مثل هذه
الأخطاء في
الإدخال/الإخراج
لا يُتعامل
معها بشكل
جيد بشكل
عام بواسطة
أنظمة
الملفات
ولا
التطبيقات.
عند
استخدام
تخزين LUKS2 فوق
أجهزة
كتلية
عادية (بدلا
من ملف loopback)
يكون منطق
التجاهل
مفعلا
مبدئيا.
أُضيف في
الإصدار 245.
--luks-offline-discard=قيمة_منطقية
مشابه لـ
--luks-discard=، يتحكم
في تقليم (trimming)
نظام
الملفات.
ومع ذلك،
بينما
يتحكم
--luks-discard=
فيما يحدث
عندما يكون
دليل
المنزل
نشطا،
يتحكم
--luks-offline-discard=
فيما يحدث
عندما يصبح
غير نشط، أي
ما إذا كان
سيُقلّم/يُخصص
التخزين
عند إلغاء
تنشيط دليل
المنزل. هذا
الخيار
يكون مفعلا
مبدئيا،
لضمان
تقليل
مساحة
القرص
أثناء عدم
ولوج
المستخدم.
أُضيف في
الإصدار 246.
--luks-extra-mount-options=الخيارات
يأخذ
سلسلة
تحتوي على
خيارات وصل
إضافية
لاستخدامها
عند وصل
وحدة تخزين
LUKS. إذا
حُددت،
فستُلحق
هذه
السلسلة
بخيارات
الوصل
المبدئية
المدمجة.
أُضيف في
الإصدار 250.
--luks-cipher=المُِعمي،
--luks-cipher-mode=وضع،
--luks-volume-key-size=بايتات،
--luks-pbkdf-type=نوع،
--luks-pbkdf-hash-algorithm=الخوارزمية،
--luks-pbkdf-force-iterations=التكرارات،
--luks-pbkdf-time-cost=ثوانٍ،
--luks-pbkdf-memory-cost=بايتات،
--luks-pbkdf-parallel-threads=الخيوط،
--luks-sector-size=بايتات
يضبط
معايير
تعمية
مختلفة
لآلية
تخزين LUKS2.
انظر
cryptsetup(8)
للحصول على
تفاصيل حول
سمات محددة.
لاحظ أن homectl
يستخدم
البايتات
لحجم
المفتاح،
مثل /proc/crypto،
ولكن cryptsetup(8)
يستخدم
البتات.
أُضيف في
الإصدار 245.
--auto-resize-mode=
يضبط ما
إذا كان
سيُكبر و/أو
يُصغّر
نظام
الملفات
الخلفي
آليا عند
الولوج
والخروج.
يأخذ أحد
النصوص "off"،
"grow"، "shrink-and-grow".
ينطبق فقط
على محرك LUKS2
حاليا،
وإذا
استُخدم
نظام ملفات
btrfs بداخله
(لأنه حينها
فقط يُدعم
التكبير/التصغير
المباشر
لنظام
الملفات).
المبدئي هو
"shrink-and-grow" إذا
استُخدم LUKS2/btrfs،
وإلا فإنه
يكون معطلا
"off". إذا ضُبط
على "off"، فلن
يُجرى أي
تصغير/تكبير
آلي أثناء
الولوج أو
الخروج. إذا
ضُبط على
"grow"،
فسيُكبر
منطقة
المنزل إلى
الحجم
المضبوط
عبر
--disk-size= إذا
كانت أصغر
حاليا. إذا
كانت تطابق
الحجم
المضبوط
بالفعل أو
أكبر منه،
فلن تُنفذ
أي عملية.
إذا ضُبط
على "shrink-and-grow"،
فسيُغير
أيضًا حجم
منطقة
المنزل
أثناء
الخروج إلى
الحد
الأدنى
للحجم الذي
تسمح به
مساحة
القرص
المستخدمة
وقيود نظام
الملفات.
يضمن هذا
الوضع أنه
أثناء
تنشيط
منطقة
المنزل،
يُضبط
حجمها على
الحجم
المختار،
ولكن أثناء
إلغاء
تنشيطها،
تُضغط
لتشغل فقط
الحد
الأدنى
الممكن من
المساحة.
لاحظ أنه
إذا أُغلق
النظام
بشكل غير
طبيعي أو
إذا لم يخرج
المستخدم
بشكل نظيف،
فلن تتم
عملية
التصغير،
ويتعين على
المستخدم
الولوج/الخروج
مرة أخرى
قبل
تنفيذها
مرة أخرى.
أُضيف في
الإصدار 250.
--rebalance-weight=
يهيئ
معامل
الوزن
لمنطق
إعادة
توازن
المساحة
الحرة على
القرص.
ينطبق هذا
فقط على
الواجهة
الخلفية LUKS2
(بما أن
مساحة
القرص في LUKS2
تُخصص من
نظام ملفات
loopback لكل
مستخدم
بدلاً من
التخصيص
المباشر من
مجمع مشترك
كما في
الواجهات
الأخرى).
تُوزع
المساحة
الحرة في
مناطق
المنزل
النشطة
ومساحة
التخزين
الخلفية في
فترات
منتظمة، مع
مراعاة
قيمة الوزن
المحددة
هنا. يتوقع
قيمة صحيحة
بين 1 و 10000، أو
السلسلة
الخاصة "off".
إذا لم
يُحدد،
فإنه يفترض 100
مبدئيًا.
يُستخدم
الوزن
لتوسيع
المساحة
الحرة
المتاحة:
منطقة
المنزل
بوزن 200 ستحصل
على ضعف
المساحة
التي تحصل
عليها
منطقة بوزن 100.
سيُخصص
لنظام
الملفات
الخلفي
مساحة بوزن 20.
إذا ضُبط
على "off" فلن
تُوزع
المساحة
آليًا. لاحظ
أن تغيير
الحجم
صراحةً
(بأمر
homectl resize)
سيؤدي
لإيقاف
إعادة
التوازن
الآلي
ضمنيًا.
لإعادة
تفعيله،
استخدم
--rebalance-weight=
مع معامل
فارغ.
أُضيف في
الإصدار 250.
--nosuid=قيمة_منطقية,
--nodev=قيمة_منطقية,
--noexec=قيمة_منطقية
يهيئ
خيارات
الوصل "nosuid" و
"nodev" و "noexec"
للأدلة
المنزلية.
مبدئيًا،
يُفعّل "nodev" و
"nosuid"، بينما
يكون "noexec"
معطلاً.
للتفاصيل
راجع
mount(8).
أُضيف في
الإصدار 245.
--cifs-domain=DOMAIN,
--cifs-user-name=مستخدم,
--cifs-service=SERVICE,
--cifs-extra-mount-options=OPTIONS
يهيئ
نطاق
ومستخدم
مشاركة
ملفات
ويندوز (CIFS)
لربطهما
بالدليل
المنزلي،
وكذلك
مشاركة
الملفات
("الخدمة")
التي ستوصل
كدليل.
يُستخدم
الأخير عند
اختيار
تخزين "cifs".
يجب تحديد
المشاركة
بالتنسيق
"//
host/
share/
directory/...".
جزء الدليل
اختياري؛
إذا لم
يُحدد،
فسيُوضع
الدليل
المنزلي في
المستوى
الأعلى
للمشاركة.
يتيح
--cifs-extra-mount-options=
تحديد
خيارات وصل
إضافية،
راجع
mount.cifs(8)
للتفاصيل.
أُضيف في
الإصدار 245.
--stop-delay=ثانية
يهيئ
الوقت الذي
سيستمر فيه
مدير خدمة
المستخدم
في العمل
بعد انتهاء
جميع
جلساته.
يُضبط
المبدئي في
logind.conf(5) (على
الرغم من
أنه يكون 0
مبدئيًا
لتخزين LUKS2
على
الوسائط
القابلة
للإزالة).
الوقت
الأطول
يجعل
عمليات
الولوج
المتكررة
والسريعة
أكثر كفاءة.
أُضيف في
الإصدار 245.
--kill-processes=قيمة_منطقية
يحدد ما
إذا كان
ستُنهى
جميع
عمليات
المستخدم
عند تسجيل
الخروج.
يُضبط
المبدئي في
logind.conf(5).
أُضيف في
الإصدار 245.
--auto-login=قيمة_منطقية
يأخذ
وسيطًا
منطقيًا.
يحدد ما إذا
كان يجب على
الواجهة
الرسومية
ولوج هذا
المستخدم
آليًا.
المبدئي هو
الإيقاف (off).
يُعطل
الولوج
الآلي إذا
مُيزَ أكثر
أو أقل من
مستخدم
واحد بهذه
الطريقة.
أُضيف في
الإصدار 245.
--session-launcher=مُطلق
تأخذ
وسيطاً
نصياً.
وتضبط ملف
إدخال الـ .desktop
الخاص
بمُطلق
الجلسة
المُفضل
للمستخدم
(أي "gnome" أو "plasma"
أو غيرها من
الأسماء
التي تظهر
في الدليل
/usr/share/xesssions/ أو /usr/share/wayland-sessions).
يقرأ مدير
العرض هذا
الملف
لاختيار
الجلسة
المبدئية
التي تُطلق
عند ولوج
المستخدم.
أُضيف في
الإصدار 256.
--session-type=نوع
يقبل
سلسلة نصية
كمعامل.
يضبط نوع
الجلسة
المفضل
للمستخدم
(أي "x11" و "wayland"
والقيم
الأخرى
التي
يقبلها
المتغير
$XDG_SESSION_TYPE). يقرأ
مدير العرض
هذه القيمة
لاختيار
نوع الجلسة
المبدئي
الذي يسجل
المستخدم
الدخول
إليه.
أُضيف في
الإصدار 256.
الأوامر¶
الأوامر
التالية
مفهومة:
list
سرد جميع
الأدلة
المنزلية
(مع تفاصيل
موجزة) التي
تديرها
حالياً
خدمة systemd-homed.service.
يُنفَّذ
هذا الأمر
أيضاً في
حال عدم
تحديد أي
أمر آخر في
سطر
الأوامر.
(يُرجى
ملاحظة أن
قائمة
المستخدمين
المعروضة
بواسطة هذا
الأمر لا
تشمل
المستخدمين
الذين
تديرهم
أنظمة
فرعية
أخرى، مثل
مستخدمي
النظام أو
أي
مستخدمين
تقليديين
مدرجين في
الملف /etc/passwd).
أُضيف في
الإصدار 245.
activate
مستخدم
[مستخدم...]
تنشيط
دليل منزلي
واحد أو
أكثر.
ستُنَشَّط
الأدلة
المنزلية
لكل مستخدم
مدرج
وتُتاح تحت
نقاط ضمها
(عادةً في /home/$USER).
يُرجى
ملاحظة أن
أي دليل
منزلي
يُنَشَّط
بهذه
الطريقة
يظل نشطاً
لأجل غير
مسمى، حتى
يُلغى
تنشيطه
صراحةً
مجدداً
(باستخدام
الأمر
deactivate،
انظر
أدناه)، أو
ولوج
المستخدم
ثم خروجه
مجدداً
وبالتالي
يُلغى
تنشيطه
بناءً على
منطق إلغاء
التنشيط
الآلي عند
خروجه .
يتضمن
تنشيط
الدليل
المنزلي
عمليات
مختلفة
تعتمد على
آلية
التخزين
المحددة.
وفي حال
استخدام
آلية LUKS2، فإن
هذا يتضمن
عموماً:
استعلام
المستخدم
عن كلمة
مرور،
وإعداد
جهاز حلقة
راجعة،
والتحقق من
صحة حجم LUKS2
وتنشيطه،
وفحص نظام
الملفات،
ثم وصله،
واحتمالية
تغيير
ملكية جميع
الملفات
المتضمنة
إلى معرف
المستخدم
ومجموعته (UID/GID)
الصحيحين.
أُضيف في
الإصدار 245.
deactivate
مستخدم
[مستخدم...]
إلغاء
تنشيط دليل
منزلي أو
أكثر؛ وهذا
يعكس تأثير
أمر
activate.
أُضيف في
الإصدار 245.
inspect
مستخدم
[مستخدم...]
إظهار
تفاصيل
متنوعة عن
الأدلة
المنزلية
المحددة.
يعرض هذا
خيارات
ومعلومات
مختلفة عن
الدليل
المنزلي
وحساب
المستخدم
الخاص به،
بما في ذلك
بيانات وقت
التشغيل (runtime)
مثل الحالة
الحالية،
واستخدام
القرص وما
شابه. ادمجه
مع الخيار
--json= لإظهار
سجل
المستخدم
المفصل
بتنسيق JSON
بدلاً من
ذلك، ويمكن
دمجه أيضاً
مع الخيار
--export-format= لحجب
جوانب
معينة من
الخرج.
أُضيف في
الإصدار 245.
authenticate
مستخدم
[مستخدم...]
التحقق
من صحة
اعتمادات
المصادقة
الخاصة
بالدليل
المنزلي.
يستعلم هذا
الإجراء من
المُستدعي
عن كلمة
مرور (أو ما
شابهها)
ويتحقق من
أنها تفك
قفل الدليل
المنزلي
بشكل صحيح.
يترك هذا
الإجراء
الدليل
المنزلي
على حالته
التي كان
عليها، أي
أنه يتركه
في حالة غير
نشطة إذا
كان غير نشط
من قبل، وفي
حالة نشطة
إذا كان
نشطاً من
قبل.
أُضيف في
الإصدار 245.
create
مستخدم, create
--identity=مسار
[مستخدم]
إنشاء
دليل منزلي
أو حساب
مستخدم
جديد
بالاسم
المحدد.
استخدم
خيارات
خصائص سجل
المستخدم
المتنوعة
(كما هو موثق
أعلاه)
للتحكم في
الجوانب
المختلفة
للدليل
المنزلي
وحسابات
المستخدمين
الخاصة به.
يجب أن
يتبع اسم
المستخدم
المختار
الصيغة
الصارمة
الموضحة في
صيغة أسماء
المستخدمين/المجموعات.
أُضيف في
الإصدار 245.
remove
مستخدم
إزالة
دليل منزلي
أو حساب
مستخدم.
سيؤدي هذا
إلى إزالة
كل من سجل
المستخدم
الخاص
بالدليل
المنزلي
والدليل
المنزلي
نفسه،
وبالتالي
حذف جميع
الملفات
والأدلة
التي
يملكها
المستخدم.
أُضيف في
الإصدار 245.
update
مستخدم, update
--identity=مسار
[مستخدم]
تحديث
دليل منزلي
أو حساب
مستخدم.
استخدم
خيارات
خصائص سجل
المستخدم
المتنوعة
(كما هو موثق
أعلاه)
لإجراء
تغييرات
على
الحساب، أو
بدلاً من
ذلك، وفر
سجل مستخدم
بتنسيق JSON
كاملاً
ومحدثاً
عبر الخيار
--identity=.
يُرجى
ملاحظة أن
التغييرات
على سجلات
المستخدمين
غير
الموقعة
بمفتاح
تعمية خاص
(cryptographic private key) متاح
محلياً غير
مسموح بها،
ما لم
يُستخدم
الخيار --identity=
مع سجل
مستخدم
مُوقّع
بالفعل
بشكل صحيح
بمفتاح خاص
معترف به.
أُضيف في
الإصدار 245.
passwd
مستخدم
تغيير
كلمة سر
الدليل
المنزلي أو
الحساب
المحدد.
أُضيف في
الإصدار 245.
resize
مستخدم
بايت
تغيير
مساحة
القرص
المخصصة
للدليل
المنزلي
المحدد. في
حال
استخدام
آلية
التخزين LUKS2،
سيؤدي هذا
آلياً إلى
تغيير حجم
ملف الـ loopback
ونظام
الملفات
الذي
يحتويه.
يُرجى
ملاحظة أنه
في حال
استخدام
نظام
الملفات "ext4"
داخل حجم LUKS2،
فمن
الضروري
إلغاء
تنشيط
الدليل
المنزلي
قبل تقليصه
(أي يجب على
المستخدم
تسجيل
الخروج). أما
التوسيع
فيمكن
القيام به
أثناء كون
الدليل
المنزلي
نشطاً. وفي
حال
استخدام "xfs"
داخل حجم LUKS2،
فلا يمكن
تقليص
الدليل
المنزلي
على
الإطلاق.
وبالنسبة
للأنظمة
الثلاثة "ext4"
و "xfs" و "btrfs"،
يمكن توسيع
الدليل
المنزلي
أثناء
تسجيل دخول
المستخدم،
وفي النظام
الأخير (btrfs)
يمكن
تقليصه
أيضاً
أثناء
تسجيل دخول
المستخدم.
وإذا
استُخدمت
آليات
التخزين "subvolume"
أو "directory" أو
"fscrypt"، فإن
تغيير
الحجم
سيغير
الحصة
النسبية
لنظام
الملفات (quota).
يمكن
لمعامل
الحجم
استخدام
اللاحقات
المعتادة B و K
و M و G و T (بأساس
1024). ويمكن
تحديد
السلاسل
النصية
الخاصة "min" و
"max" بدلاً من
القيمة
الرقمية
للحجم،
وذلك
لتقليص
مساحة
القرص
المخصصة
للمنطقة
المنزلية (home area)
إلى الحد
الأدنى أو
توسيعها
إلى الحد
الأقصى، مع
مراعاة
قيود نظام
الملفات،
واستخدام
القرص داخل
المنطقة
المنزلية
وعلى وحدة
التخزين
الخلفية.
أُضيف في
الإصدار 245.
lock
مستخدم
تعليق
الوصول
مؤقتاً إلى
الدليل
المنزلي
للمستخدم
وإزالة أي
مفاتيح
تعمية
مرتبطة به
من الذاكرة.
ستتوقف أي
محاولات
للوصول إلى
الدليل
المنزلي
للمستخدم
حتى يُفك
قفله
مجدداً (أي
إعادة
المصادقة).
تهدف هذه
الوظيفة
أساساً إلى
الاستخدام
أثناء
تعليق
النظام
لضمان عدم
إمكانية
الوصول إلى
بيانات
المستخدم
حتى يعيد
المصادقة
عند
الاستئناف.
هذا
الإجراء
مُعرَّف
فقط للأدلة
المنزلية
التي
تستخدم
آلية تخزين
LUKS2.
أُضيف في
الإصدار 245.
unlock
مستخدم
استئناف
الوصول إلى
الدليل
المنزلي
للمستخدم
مجدداً،
ليتراجع عن
تأثير
الأمر
lock
(القفل)
المذكور
أعلاه.
يتطلب هذا
مصادقة
المستخدم،
نظراً
للحاجة إلى
إعادة
تحصيل
مفاتيح
التعمية
اللازمة
للوصول إلى
الدليل
المنزلي.
أُضيف في
الإصدار 245.
lock-all
تنفيذ
الأمر
lock
(القفل) على
جميع
الأدلة
المنزلية
المناسبة
دفعة واحدة.
تُنفَّذ
هذه
العملية
عموماً عند
تعليق
النظام (أي
بواسطة
الأمر
systemctl suspend
والأوامر
ذات الصلة)،
لضمان
إزالة جميع
مفاتيح
التعمية
النشطة
الخاصة
بالمستخدمين
واللازمة
للوصول إلى
أدلتهم
المنزلية
من الذاكرة.
أُضيف في
الإصدار 245.
deactivate-all
تنفيذ
الأمر
deactivate
(إلغاء
التنشيط)
على جميع
الأدلة
المنزلية
النشطة
دفعة واحدة.
تُنفَّذ
هذه
العملية
عموماً عند
إيقاف
تشغيل
النظام (أي
بواسطة
الأمر
systemctl poweroff
والأوامر
ذات الصلة)،
لضمان
إلغاء
تنشيط جميع
الأدلة
المنزلية
للمستخدمين
النشطين
بالكامل
قبل فصل (unmount)
الدليل /home/
وأنظمة
الملفات
المرتبطة
به.
أُضيف في
الإصدار 247.
with
مستخدم
أمر...
تنشيط
الدليل
المنزلي
للمستخدم
المحدد،
وتشغيل
الأمر
المحدد
(بهوية
المُستدعي،
وليس بهوية
المستخدم
المحدد)، ثم
إلغاء
تنشيط
الدليل
المنزلي
بعد ذلك مرة
أخرى (ما لم
يكن
المستخدم
والِجاً
بطريقة
أخرى). يفيد
هذا الأمر
في تشغيل
سكربتات
النسخ
الاحتياطي
ذات
الصلاحيات
المرتفعة
وما شابه،
ولكنه
يتطلب
المصادقة
باستخدام
اعتمادات
المستخدم
للتمكن من
فك قفل
دليله
المنزلي.
أُضيف في
الإصدار 245.
rebalance
إعادة
موازنة
المساحة
الشاغرة
على القرص
بين
المناطق
المنزلية (home areas)
النشطة
ووحدة
التخزين
الخلفية (backing storage).
انظر
الخيار
--rebalance-weight=
أعلاه. لا
تنفذ هذه
العملية أي
إجراء ما لم
تكن هناك
منطقة
منزلية
واحدة نشطة
على الأقل
من نوع LUKS2
مُمكّن
عليها خيار
إعادة
موازنة
مساحة
القرص. هذه
العملية
متزامنة (synchronous):
إذ لن تكتمل
إلا بعد
إعادة
موازنة
مساحة
القرص
وفقاً
لأوزان
إعادة
الموازنة.
يُرجى
ملاحظة أن
إعادة
الموازنة
تتم أيضاً
آلياً في
الخلفية
على فترات
منتظمة.
استخدم هذا
الأمر
للتأكد
بشكل
متزامن من
إعادة
توزيع
مساحة
القرص بشكل
صحيح قبل
البدء في
عملية
تتطلب
مساحات
كبيرة من
القرص.
أُضيف في
الإصدار 250.
firstboot
يُفترض
أن يُستدعى
هذا الأمر
أثناء
الإقلاع
الأولي
للنظام. حيث
يتحقق مما
إذا كان
هناك أي
منطقة
منزلية (home area)
عادية
موجودة حتى
الآن، وإذا
لم يجد،
يسأل
المستخدم
تفاعلياً
عبر
الطرفية (console)
عن اسم
المستخدم
وكلمة
المرور
ويُنشئ
واحدة (فقط
إذا حُدد
الخيار
--prompt-new-user).
وبدلاً من
ذلك، إذا
مُرِّرت
إلى الأمر
اعتماد
خدمة (service credential)
واحدة أو
أكثر تبدأ
أسماؤها بـ
"home.create." (وتحتوي
على سجل
مستخدم
بتنسيق JSON)،
فسيُنشأ
هؤلاء
المستخدمون
آلياً عند
الإقلاع.
يُستدعى
هذا الأمر
بواسطة
وحدة
الخدمة
systemd-homed-firstboot.
أُضيف في
الإصدار 256.
البيئة¶
$SYSTEMD_LOG_LEVEL
الحد
الأقصى
لمستوى
السجل
للرسائل
الصادرة
(تُكتم
الرسائل
ذات مستوى
السجل
الأعلى، أي
الأقل
أهمية). يأخذ
قائمة قيم
مفصولة
بفواصل.
يمكن أن
تكون
القيمة إما
واحدة من
(بترتيب
تنازلي
للأهمية)
emerg،
أو
alert، أو
crit،
أو
err، أو
warning،
أو
notice، أو
info،
أو
debug، أو
رقمًا
صحيحًا في
النطاق من 0
إلى 7. راجع
syslog(3)
لمزيد من
المعلومات.
يمكن
اختياريًا
سبق كل قيمة
بأحد
الخيارات
console، أو
syslog، أو
kmsg أو
journal
متبوعة
بنقطتين
لضبط الحد
الأقصى
لمستوى
السجل لهذا
الهدف
المحدد
(مثلاً:
SYSTEMD_LOG_LEVEL=debug,console:info يحدد
التسجيل
بمستوى debug
باستثناء
التسجيل في
الطرفية
الذي يجب أن
يكون
بمستوى info).
لاحظ أن
الحد
الأقصى
العالمي
لمستوى
السجل له
الأولوية
على أي حدود
مستويات
سجل لكل هدف
على حدة.
$SYSTEMD_LOG_COLOR
قيمة
منطقية. إذا
كانت
صحيحة،
فستُلون
الرسائل
المكتوبة
في الـ tty حسب
الأولوية.
هذا
الإعداد
مفيد فقط
عندما
تُكتب
الرسائل
مباشرة إلى
الطرفية،
لأن journalctl(1)
والأدوات
الأخرى
التي تعرض
السجلات
ستلون
الرسائل
بناءً على
مستوى
السجل من
تلقاء
نفسها.
$SYSTEMD_LOG_TIME
قيمة
منطقية. إذا
كانت
صحيحة،
فستُسبق
رسائل سجل
الطرفية
بختم زمني.
هذا
الإعداد
مفيد فقط
عندما
تُكتب
الرسائل
مباشرة إلى
الطرفية أو
إلى ملف،
لأن journalctl(1)
والأدوات
الأخرى
التي تعرض
السجلات
ستُرفق
طوابع
زمنية
بناءً على
البيانات
الوصفية
للمدخلات
من تلقاء
نفسها.
$SYSTEMD_LOG_LOCATION
قيمة
منطقية. إذا
كانت
صحيحة،
فستُسبق
الرسائل
باسم الملف
ورقم السطر
في الشيفرة
المصدرية
حيث نشأت
الرسالة.
لاحظ أن
موقع السجل
غالبًا ما
يُرفق
كبيانات
وصفية
بمدخلات
اليوميات
على أي حال.
ومع ذلك، قد
يكون
تضمينه
مباشرة في
نص الرسالة
مفيدًا عند
تنقيح
البرامج.
$SYSTEMD_LOG_TID
قيمة
منطقية. إذا
كانت
صحيحة،
فستُسبق
الرسائل
بمعرّف
الخيط
الرقمي
الحالي (TID).
لاحظ أن
هذه
المعلومات
تُرفق
كبيانات
وصفية
بمدخلات
اليوميات
على أي حال.
ومع ذلك، قد
يكون
تضمينه
مباشرة في
نص الرسالة
مفيدًا عند
تنقيح
البرامج.
$SYSTEMD_LOG_TARGET
وجهة
رسائل
السجل. أحد
الخيارات:
console (التسجيل
في الطرفية
المرفقة)،
أو
console-prefixed
(التسجيل في
الطرفية
المرفقة
ولكن مع
بادئات
ترميز
مستوى
السجل
و"المرفق"،
راجع
syslog(3)، أو
kmsg (التسجيل
في ذاكرة
السجل
الدائرية
للنواة)، أو
journal (التسجيل
في
اليوميات)،
أو
journal-or-kmsg
(التسجيل في
اليوميات
إذا كانت
متاحة، وفي kmsg
بخلاف ذلك)،
أو
auto (تحديد
هدف السجل
المناسب
آليًا، وهو
المبدئي)،
أو
null (تعطيل
مخرج
السجل).
$SYSTEMD_LOG_RATELIMIT_KMSG
فيما إذا
كان سيُحد
معدل kmsg أم لا.
يأخذ قيمة
منطقية.
القيمة
المبدئية
هي "true". إذا
عُطّل، فلن
يحد systemd من
معدل
الرسائل
المكتوبة
في kmsg.
$SYSTEMD_PAGER، $PAGER
مستعرض
الصفحات
المراد
استخدامه
عندما لا
يُعطى
الخيار
--no-pager.
يُستخدم
$SYSTEMD_PAGER
إذا كان
مضبوطًا؛
وإلا
فيُستخدم
$PAGER. إذا لم
يُضبط أي من
$SYSTEMD_PAGER أو
$PAGER،
فتُجرب
مجموعة من
التطبيقات
المعروفة
لمستعرضات
الصفحات
تباعًا،
بما في ذلك
less(1) و
more(1)، حتى
يُعثر على
أحدها. إذا
لم يُكتشف
أي تطبيق
لمستعرض
الصفحات،
فلا
يُستدعى أي
مستعرض. ضبط
متغيرات
البيئة هذه
على سلسلة
فارغة أو
القيمة "cat"
يعادل
تمرير
الخيار
--no-pager.
ملاحظة:
إذا لم
يُضبط $SYSTEMD_PAGERSECURE،
فلا يمكن
استخدام
$SYSTEMD_PAGER و $PAGER إلا
لتعطيل
مستعرض
الصفحات
(باستخدام
"cat" أو "")،
ويُتجاهل
فيما عدا
ذلك.
$SYSTEMD_LESS
تجاوز
الخيارات
الممررة
إلى
less
(مبدئيًا "FRSXMK").
قد يرغب
المستخدمون
في تغيير
خيارين على
وجه
الخصوص:
K
يوجه هذا
الخيار
مستعرض
الصفحات
بالخروج
فورًا عند
الضغط على Ctrl+C.
للسماح لـ
less
بالتعامل
مع Ctrl+C بنفسه
للعودة إلى
محث أوامر
المستعرض،
قم بإلغاء
ضبط هذا
الخيار.
إذا لم
تتضمن قيمة
$SYSTEMD_LESS الحرف
"K"، وكان
المستعرض
المستدعى
هو less،
فسيُتجاهل
Ctrl+C من قبل
الملف
التنفيذي،
ويجب
معالجته من
قبل
المستعرض.
X
يوجه هذا
الخيار
مستعرض
الصفحات
بعدم إرسال
سلاسل
تهيئة
وإنهاء termcap
إلى
الطرفية.
يُضبط
مبدئيًا
للسماح
لمخرجات
الأوامر
بالبقاء
مرئية في
الطرفية
حتى بعد
خروج
المستعرض.
ومع ذلك،
فإن هذا
يمنع بعض
وظائف
المستعرض
من العمل،
لا سيما أن
المخرجات
المفصولة
بصفحات لا
يمكن
تمريرها
باستخدام
الفأرة.
لاحظ أن
ضبط متغير
البيئة
العادي $LESS
ليس له أي
تأثير عند
استدعاء less
بواسطة
أدوات systemd.
راجع less(1)
لمزيد من
النقاش.
$SYSTEMD_LESSCHARSET
يتجاوز
طقم
المحارف
الممرر إلى
less (مبدئيًا
"utf-8"، إذا
حُدّد أن
الطرفية
المستدعية
متوافقة مع
UTF-8).
لاحظ أن
ضبط متغير
البيئة
العادي $LESSCHARSET
ليس له أي
تأثير عند
استدعاء less
بواسطة
أدوات systemd.
$SYSTEMD_PAGERSECURE
تدعم
أوامر
المستعرض (pager)
الشائعة
مثل
less(1)،
بالإضافة
إلى
"التصفح"،
أي التمرير
عبر
المخرجات،
فتح ملفات
أخرى أو
الكتابة
إليها
وتشغيل
أوامر صدفة
عشوائية.
عند
استدعاء
الأوامر
بامتيازات
مرفوعة،
على سبيل
المثال تحت
sudo(8) أو
pkexec(1)،
يصبح
المستعرض
حدًا
أمنيًا. يجب
الحرص على
استخدام
البرامج
ذات
الوظائف
المحدودة
للغاية فقط
كمستعرضات،
وعدم
السماح
بالميزات
التفاعلية
غير
المقصودة
مثل فتح
ملفات
جديدة أو
إنشائها أو
بدء عمليات
فرعية. يمكن
تمكين
"الوضع
الآمن"
للمستعرض
كما هو موضح
أدناه،
إذا
كان
المستعرض
يدعم ذلك
(معظم
المستعرضات
لم تُكتب
بطريقة
تأخذ هذا في
الاعتبار).
يوصى إما
بتمكين
"الوضع
الآمن"
صراحةً أو
تعطيل
المستعرض
تمامًا
باستخدام
--no-pager أو
PAGER=cat عند
السماح
للمستخدمين
غير
الموثوق
بهم بتنفيذ
أوامر
بامتيازات
مرفوعة.
يأخذ هذا
الخيار
وسيطًا
منطقيًا.
عند ضبطه
على صحيح (true)،
يُمكن
"الوضع
الآمن"
لمستعرض
الصفحات. في
"الوضع
الآمن"،
سيُضبط LESSSECURE=1
عند
استدعاء
المستعرض،
مما يوجه
المستعرض
لتعطيل
الأوامر
التي تفتح
أو تنشئ
ملفات
جديدة أو
تبدأ
عمليات
فرعية
جديدة.
حاليًا،
يُعرف فقط
less(1) بقدرته
على فهم هذا
المتغير
وتطبيق
"الوضع
الآمن".
عند الضبط
إلى false، لا
توضع قيود
على أداة
التصفح (pager). إن
ضبط SYSTEMD_PAGERSECURE=0 أو
عدم إزالته
من البيئة
الموروثة
قد يسمح
للمستخدم
باستدعاء
أوامر
اعتباطية.
عندما لا
يكون $SYSTEMD_PAGERSECURE
مضبوطًا،
تحاول
أدوات systemd
آليًا
معرفة ما
إذا كان
ينبغي
تفعيل
"النمط
الآمن" وما
إذا كان
المستعرض
يدعمه.
يُفعل
"النمط
الآمن" إذا
كان معرف
المستخدم
الفعلي ليس
هو نفسه
مالك جلسة
الولوج،
انظر geteuid(2) و
sd_pid_get_owner_uid(3)، أو
عند
التشغيل
تحت sudo(8) أو
أدوات
مماثلة ($SUDO_UID
مضبوط [5]). في
تلك
الحالات،
سيُضبط
SYSTEMD_PAGERSECURE=1 ولن
تُستخدم
المستعرضات
التي لا
يُعرف عنها
تنفيذ
"النمط
الآمن" على
الإطلاق.
لاحظ أن هذا
الاكتشاف
الآلي يغطي
فقط
الآليات
الأكثر
شيوعًا
لرفع
الامتيازات
وهو مخصص
للتسهيل.
يوصى بضبط
$SYSTEMD_PAGERSECURE صراحة
أو تعطيل
المستعرض.
لاحظ أنه
إذا أُريد
احترام
المتغيرات
$SYSTEMD_PAGER أو $PAGER،
لغير غرض
تعطيل
مستعرض
الصفحات،
فيجب ضبط
$SYSTEMD_PAGERSECURE أيضًا.
$SYSTEMD_COLORS
يأخذ
وسيطًا
منطقيًا.
عندما يكون
صحيحًا،
سيستخدم systemd
والأدوات
المرتبطة
به الألوان
في
مخرجاتها،
وإلا
فستكون
المخرجات
أحادية
اللون.
بالإضافة
إلى ذلك،
يمكن أن
يأخذ
المتغير
إحدى القيم
الخاصة
التالية: "16"
أو "256"
لتقييد
استخدام
الألوان
على ألوان ANSI
الأساسية
الـ 16 أو 256 على
التوالي.
يمكن تحديد
ذلك لتجاوز
القرار
الآلي
المبني على
$TERM وما هو
متصل
بالوحدة
الطرفية.
$SYSTEMD_URLIFY
يجب أن
تكون
القيمة
منطقية.
تتحكم فيما
إذا كان يجب
توليد
روابط
قابلة
للنقر في
المخرج
لمحاكيات
الطرفية
التي تدعم
ذلك. يمكن
تحديد هذا
لتجاوز
القرار
الذي يتخذه
systemd بناءً
على $TERM وشروط
أخرى.