خصائص سجل المستخدم¶
تتحكم
الخيارات
التالية في
الخصائص
المتنوعة
لسجلات
المستخدم/مجلدات
المنزل
التي
يديرها 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=BOOL, --nodev=BOOL,
--noexec=BOOL
يهيئ
خيارات
الوصل "nosuid" و
"nodev" و "noexec"
للأدلة
المنزلية.
افتراضيًا،
يتم تفعيل
"nodev" و "nosuid"،
بينما يكون
"noexec" معطلاً.
للتفاصيل
راجع
mount(8).
أُضيف في
الإصدار 245.
--cifs-domain=DOMAIN,
--cifs-user-name=USER, --cifs-service=SERVICE,
--cifs-extra-mount-options=OPTIONS
يهيئ
نطاق
ومستخدم
مشاركة
ملفات
ويندوز (CIFS)
لربطهما
بالدليل
المنزلي،
وكذلك
مشاركة
الملفات
("الخدمة")
التي ستوصل
كدليل.
يُستخدم
الأخير عند
اختيار
تخزين "cifs".
يجب تحديد
المشاركة
بالتنسيق
"//
host/
share/
directory/...".
جزء الدليل
اختياري؛
إذا لم
يُحدد،
فسيُوضع
الدليل
المنزلي في
المستوى
الأعلى
للمشاركة.
يتيح
--cifs-extra-mount-options=
تحديد
خيارات وصل
إضافية،
راجع
mount.cifs(8)
للتفاصيل.
أُضيف في
الإصدار 245.
--stop-delay=SECS
يهيئ
الوقت الذي
سيستمر فيه
مدير خدمة
المستخدم
في العمل
بعد انتهاء
جميع
جلساته.
يُضبط
الافتراضي
في
logind.conf(5) (على
الرغم من
أنه يكون 0
افتراضيًا
لتخزين LUKS2
على
الوسائط
القابلة
للإزالة).
الوقت
الأطول
يجعل
عمليات
تسجيل
الدخول
المتكررة
والسريعة
أكثر كفاءة.
أُضيف في
الإصدار 245.
--kill-processes=BOOL
يحدد ما
إذا كان
سيتم إنهاء
جميع
عمليات
المستخدم
عند تسجيل
الخروج.
يُضبط
الافتراضي
في
logind.conf(5).
أُضيف في
الإصدار 245.
--auto-login=BOOL
يأخذ
وسيطًا
منطقيًا.
يحدد ما إذا
كان يجب على
الواجهة
الرسومية
تسجيل دخول
هذا
المستخدم
تلقائيًا.
الافتراضي
هو الإيقاف
(off). يُعطل
الدخول
التلقائي
إذا تم
تمييز أكثر
أو أقل من
مستخدم
واحد بهذه
الطريقة.
أُضيف في
الإصدار 245.
--session-launcher=LAUNCHER
يأخذ
وسيطًا
نصيًا. يحدد
ملف .desktop لمشغل
الجلسة
المفضل
للمستخدم
(مثل "gnome" أو
"plasma"). يقرأ
مدير العرض
هذا
الإعداد
لاختيار
الجلسة
الافتراضية
عند الدخول.
أُضيف في
الإصدار 256.
--session-type=TYPE
يأخذ
وسيطًا
نصيًا. يحدد
نوع الجلسة
المفضل (مثل
"x11" أو "wayland").
يستخدمه
مدير العرض
لاختيار
نوع الجلسة
الافتراضي.
أُضيف في
الإصدار 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 وشروط
أخرى.