Scroll to navigation

landlock_create_ruleset(2) System Calls Manual landlock_create_ruleset(2)

الاسم

landlock_create_ruleset - إنشاء مجموعة قواعد Landlock جديدة

المكتبة

مكتبة سي المعيارية (libc، -lc)

موجز

#include <linux/landlock.h>  /* Definition of LANDLOCK_* constants */
#include <sys/syscall.h>     /* Definition of SYS_* constants */
#include <unistd.h>
int syscall(SYS_landlock_create_ruleset,
            const struct landlock_ruleset_attr *attr,
            size_t size , uint32_t flags);

الوصف

مجموعة قواعد Landlock تحدد مجموعة من القواعد (أي الإجراءات على الكائنات). استدعاء النظام landlock_create_ruleset() هذا ينشئ واصف ملف جديد يحدد مجموعة قواعد. يمكن بعد ذلك استخدام واصف الملف هذا بواسطة landlock_add_rule(2) و landlock_restrict_self(2). انظر landlock(7) للحصول على نظرة عامة شاملة.

attr يحدد خصائص مجموعة القواعد الجديدة. يشير إلى البنية التالية:


struct landlock_ruleset_attr {

__u64 handled_access_fs;
__u64 handled_access_net;
__u64 scoped; };

handled_access_fs هو قناع بت لإجراءات نظام الملفات المُدارة (انظر إجراءات نظام الملفات في landlock(7)).
handled_access_net هو قناع بت لإجراءات الشبكة المُدارة (انظر إجراءات الشبكة في landlock(7)).
scoped هو قناع بت لأعلام النطاق (انظر أعلام النطاق في landlock(7)).
تعرف هذه البنية مجموعة من حقوق الوصول المُدارة، وهي مجموعة من الإجراءات على أنواع كائنات مختلفة، والتي يجب رفضها مبدئيًا عند تفعيل مجموعة القواعد. والعكس صحيح، حقوق الوصول غير المدرجة تحديدًا هنا لن يتم رفضها بواسطة مجموعة القواعد هذه عند تفعيلها.
لأسباب تاريخية، يتم دائمًا رفض الحق LANDLOCK_ACCESS_FS_REFER مبدئيًا، حتى عندما لا يتم تعيين البت الخاص به في handled_access_fs. لإضافة قواعد جديدة مع حق الوصول هذا، يجب تعيين البت بشكل صريح (انظر إجراءات نظام الملفات في landlock(7)).
الإدراج الصريح لـ حقوق الوصول المُدارة مطلوب لأسباب تتعلق بالتوافق مع الإصدارات السابقة. في معظم حالات الاستخدام، ستقوم العمليات التي تستخدم Landlock بـ إدارة نطاق واسع أو جميع حقوق الوصول التي تعرفها في وقت البناء (والتي اختبرتها مع نواة تدعمها جميعًا).
يمكن أن تنمو هذه البنية في إصدارات Landlock المستقبلية.

يجب تحديد size كـ sizeof(struct landlock_ruleset_attr) لأسباب تتعلق بالتوافق.

يجب أن يكون flags 0 إذا تم استخدام attr. وإلا، يمكن تعيين flags إلى:

إرجاع أعلى إصدار ABI مدعوم من Landlock (بدءًا من 1). يمكن استخدام هذا الإصدار لنهج أمان بأفضل جهد، وهو مشجع عندما لا يكون فضاء المستخدم مرتبطًا بإصدار نواة محدد.
ما لم يُذكر خلاف ذلك، جميع الميزات الموثقة في صفحات الدليل هذه متاحة مع الإصدار 1.
إرجاع قناع بت للمشكلات المُصلحة لإصدار ABI الحالي من Landlock. إذا تم تعيين البت N (أي errata & (1 << (N - 1)))، فقد تم إصلاح التصحيح N في النواة قيد التشغيل.
بالإضافة إلى إصدارات ABI، تتتبع آلية التصحيحات في Landlock الإصلاحات للمشكلات التي قد تؤثر على التوافق مع الإصدارات السابقة أو تتطلب وعيًا من فضاء المستخدم.
تحقق من التصحيحات فقط إذا كان تطبيقك يعتمد تحديدًا على سلوك تغير بسبب الإصلاح.
القائمة الكاملة لتصحيحات Landlock متاحة على https://docs.kernel.org/userspace-api/landlock.html#landlock-errata.
هذا العلم متاح على جميع إصدارات Linux حيث تم إصلاح تصحيحات Landlock. يشمل هذا تحديدًا جميع إصدارات إصلاح الأخطاء الأحدث للنوى المستقرة حيث يتم دعم Landlock.

إذا تم تعيين LANDLOCK_CREATE_RULESET_VERSION أو LANDLOCK_CREATE_RULESET_ERRATA، فيجب أن يكون attr NULL وأن يكون size 0.

قيمة الإرجاع

عند النجاح، يُرجع landlock_create_ruleset() واصف ملف مجموعة قواعد Landlock جديد، أو إصدار ABI من Landlock، أو قناع بت لتصحيحات Landlock، وفقًا لـ flags.

عند حدوث خطأ، يُرجع -1 ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

يمكن أن يفشل landlock_create_ruleset() للأسباب التالية:

size كبير جدًا.
attr لم يكن عنوانًا صالحًا.
flags غير معروفة، أو وصول غير معروف، أو نطاق غير معروف، أو size صغير جدًا.
attr غير NULL أو size غير صفري مع LANDLOCK_CREATE_RULESET_VERSION أو LANDLOCK_CREATE_RULESET_ERRATA.
وصولات فارغة (أي أن attr لم يحدد أي حقوق وصول لتقييدها).
نواة الحاسوب تدعم Landlock لكنه عُطّل في وقت الإقلاع.

المعايير

لينكس.

التاريخ

لينكس 5.13.

أمثلة

انظر landlock(7).

انظر أيضًا

landlock_add_rule(2)، landlock_restrict_self(2)، landlock(7)

ترجمة

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

21 أبريل 2026 صفحات دليل لينكس (لم تصدر بعد)