persistent-keyring(7)

الاسم
persistent-keyring - حلقة مفاتيح دائمة لكل مستخدم

الوصف
حلقة المفاتيح الدائمة هي حلقة مفاتيح تُستخدم لتثبيت المفاتيح نيابة عن مستخدم. كل UID يتعامل معه النواة له حلقة مفاتيح دائمة خاصة به مشتركة بين جميع سلاسل التنفيذ المملوكة لذلك UID. حلقة المفاتيح الدائمة لها اسم (وصف) بالصيغة _persistent.<UID> حيث <UID> هو معرف المستخدم للمستخدم المقابل.

لا يمكن الوصول إلى حلقة المفاتيح الدائمة مباشرة، حتى بواسطة العمليات ذات UID المناسب. بدلاً من ذلك، يجب أولاً وصلها بإحدى حلقات مفاتيح العملية، قبل أن تتمكن تلك الحلقة من الوصول إلى حلقة المفاتيح الدائمة بفضل أذونات المالك. يتم هذا الوصل باستخدام الدالة keyctl_get_persistent(3).

إذا لم توجد حلقة مفاتيح دائمة عند الوصول إليها بواسطة عملية keyctl_get_persistent(3)، فسيتم إنشاؤها آليًا.

في كل مرة يتم فيها تنفيذ عملية keyctl_get_persistent(3)، يتم إعادة ضبط مؤقت انتهاء صلاحية حلقة المفاتيح الدائمة إلى القيمة في:

    /proc/sys/kernel/keys/persistent_keyring_expiry

إذا تم الوصول إلى المهلة، فستتم إزالة حلقة المفاتيح الدائمة ويمكن جمع كل ما تثبته كنفايات. ثم سيتم إعادة إنشاء حلقة المفاتيح في استدعاء لاحق لـ keyctl_get_persistent(3).

لا يتم البحث في حلقة المفاتيح الدائمة مباشرة بواسطة request_key(2)؛ يتم البحث فيها فقط إذا كانت موصولة بإحدى حلقات المفاتيح التي يتم البحث فيها بواسطة request_key(2).

حلقة المفاتيح الدائمة مستقلة عن clone(2)، fork(2)، vfork(2)، execve(2)، و_exit(2). تستمر حتى يتم تشغيل مؤقت انتهاء صلاحيتها، وعندها يتم جمعها كنفايات. يسمح هذا لحلقة المفاتيح الدائمة بحمل المفاتيح بعد عمر سجل النواة لـ UID المقابل (الذي يؤدي تدميره إلى تدمير user-keyring(7) وuser-session-keyring(7)). يمكن بالتالي استخدام حلقة المفاتيح الدائمة لحمل رموز الاستيثاق للعمليات التي تعمل دون تفاعل المستخدم، مثل البرامج التي بدأها cron(8).

تُستخدم حلقة المفاتيح الدائمة لتخزين كائنات خاصة بـ UID لها أعمار محدودة بذاتها (مثل رموز kerberos). إذا توقف استخدام تلك الرموز (أي لم يتم الوصول إلى حلقة المفاتيح الدائمة)، فإن مهلة حلقة المفاتيح الدائمة تضمن التخلص آليًا من الكائنات المقابلة.

  عمليات خاصة
توفر مكتبة keyutils الدالة keyctl_get_persistent(3) لمعالجة حلقات المفاتيح الدائمة. (هذه الدالة هي واجهة لعملية keyctl(2) KEYCTL_GET_PERSISTENT.) تسمح هذه العملية لسلسلة التنفيذ المستدعية بالحصول على حلقة المفاتيح الدائمة المقابلة لـ UID الخاص بها، أو إذا كانت سلسلة التنفيذ تملك القدرة CAP_SETUID، حلقة المفاتيح الدائمة المقابلة لـ UID آخر في نفس مساحة اسم المستخدم.

ملاحظات
كل مساحة اسم مستخدم تملك حلقة مفاتيح تسمى .persistent_register تحتوي على وصلات لجميع المفاتيح الدائمة في تلك المساحة. (يمكن رؤية حلقة المفاتيح .persistent_register عند قراءة محتويات ملف /proc/keys لـ UID 0 في المساحة.) تبحث عملية keyctl_get_persistent(3) عن مفتاح باسم بالصيغة _persistent.UID في تلك الحلقة، وتنشئ المفتاح إذا لم يكن موجودًا، وتوصله في الحلقة.

انظر أيضًا
keyctl(1)، keyctl(3)، keyctl_get_persistent(3)، keyrings(7)، process-keyring(7)، session-keyring(7)، thread-keyring(7)، user-keyring(7)، user-session-keyring(7)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.