.\" -*- coding: UTF-8 -*- .\" Copyright 2017-2020, Mickaël Salaün .\" Copyright 2019-2020, ANSSI .\" Copyright 2021, Microsoft Corp. .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH landlock_add_rule 2 "6 أبريل 2026" "صفحات دليل لينكس 6.18" .SH الاسم landlock_add_rule \- إضافة قاعدة Landlock جديدة إلى مجموعة قواعد .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP /* تعريف ثوابت \fBLANDLOCK_*\fP */ \fB#include \fP /* تعريف ثوابت \fBSYS_*\fP */ .P \fBint syscall(SYS_landlock_add_rule, int \fP\fIruleset_fd\fP\fB,\fP \fB enum landlock_rule_type \fP\fIrule_type\fP\fB,\fP \fB const void *\fP\fIrule_attr\fP\fB, uint32_t \fP\fIflags\fP\fB);\fP .fi .SH الوصف تصف قاعدة Landlock إجراءً على كائن تعتزم العملية تنفيذه. تُجمَّع مجموعة من القواعد في "مجموعة قواعد" (ruleset)، والتي يمكنها بعد ذلك تقييد الخيط (thread) الذي يفرضها، وأبناءه المستقبليين. .P استدعاء النظام \fBlandlock_add_rule\fP() يضيف قاعدة Landlock جديدة إلى مجموعة قواعد موجودة. راجع \fBlandlock\fP(7) للحصول على نظرة عامة. .P \fIruleset_fd\fP هو واصف ملف مجموعة قواعد Landlock تم الحصول عليه باستخدام \fBlandlock_create_ruleset\fP(2). .P \fIrule_type\fP يحدد نوع البنية المشار إليها بواسطة \fIrule_attr\fP. حالياً، يدعم لينكس قيم \fIrule_type\fP التالية: .TP \fBLANDLOCK_RULE_PATH_BENEATH\fP لهذه القواعد، الكائن هو تسلسل هرمي للملفات، وتُعرف إجراءات نظام الملفات المتعلقة به بـ \fIحقوق الوصول إلى نظام الملفات\fP. .IP في هذه الحالة، يشير \fIrule_attr\fP إلى البنية التالية: .IP .in +4n .EX struct landlock_path_beneath_attr { __u64 allowed_access; __s32 parent_fd; } __attribute__((packed)); .EE .in .IP \fIallowed_access\fP يحتوي على قناع بت للإجراءات المسموح بها في نظام الملفات، والتي يمكن تطبيقها على \fIparent_fd\fP المعطى (انظر \fBإجراءات نظام الملفات\fP في \fBlandlock\fP(7)). .IP \fIparent_fd\fP هو واصف ملف مفتوح، ويفضل أن يكون مع العلم \fIO_PATH\fP، والذي يحدد الدليل الأب للتسلسل الهرمي للملفات أو مجرد ملف. .TP \fBLANDLOCK_RULE_NET_PORT\fP لهذه القواعد، الكائن هو منفذ TCP، وتُعرف الإجراءات المتعلقة به بـ \fIحقوق الوصول إلى الشبكة\fP. .IP في هذه الحالة، يشير \fIrule_attr\fP إلى البنية التالية: .IP .in +4n .EX struct landlock_net_port_attr { __u64 allowed_access; __u64 port; }; .EE .in .IP \fIallowed_access\fP يحتوي على قناع بت للإجراءات الشبكية المسموح بها، والتي يمكن تطبيقها على المنفذ المعطى. .IP \fIport\fP هو منفذ الشبكة بترتيب البايت الخاص بالمضيف. .IP تجدر الإشارة إلى أن المنفذ 0 المُمرر إلى \fBbind\fP(2) سيرتبط بمنفذ متاح من نطاق المنافذ المؤقتة. يمكن تكوين هذا في sysctl \fI/proc/sys/net/ipv4/ip_local_port_range\fP (يُستخدم أيضًا لـ IPv6). .IP قاعدة Landlock مع المنفذ 0 والحق \fBLANDLOCK_ACCESS_NET_BIND_TCP\fP تعني أن طلب الارتباط على المنفذ 0 مسموح به وسيترجم آلياً إلى الارتباط بنطاق المنافذ ذي الصلة. .P يجب أن يكون \fIflags\fP صفرًا. .SH "قيمة الإرجاع" عند النجاح، تُرجع \fBlandlock_add_rule\fP() 0. عند الخطأ، تُرجع \-1 ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء يمكن أن تفشل \fBlandlock_add_rule\fP() للأسباب التالية: .TP \fBEAFNOSUPPORT\fP \fIrule_type\fP هو \fBLANDLOCK_RULE_NET_PORT\fP، لكن TCP غير مدعوم من قبل النواة الجارية. .TP \fBEBADF\fP \fIruleset_fd\fP ليس واصف ملف للخيط الحالي، أو أن أحد أعضاء \fIrule_attr\fP ليس واصف ملف كما هو متوقع. .TP \fBEBADFD\fP \fIruleset_fd\fP ليس واصف ملف مجموعة قواعد، أو أن أحد أعضاء \fIrule_attr\fP ليس من نوع واصف الملف المتوقع. .TP \fBEFAULT\fP \fIrule_attr\fP لم يكن عنواناً صالحاً. .TP \fBEINVAL\fP \fIflags\fP ليست 0. .TP \fBEINVAL\fP وصولات القاعدة غير متسقة (أي أن \fIrule_attr\->allowed_access\fP ليس مجموعة فرعية من الوصولات التي تعالجها مجموعة القواعد). .TP \fBEINVAL\fP في \fI\%struct\ landlock_path_beneath_attr\fP، وصولات القاعدة غير قابلة للتطبيق على الملف (أي أن بعض حقوق الوصول في \fI\%rule_attr\->allowed_access\fP تنطبق فقط على الدلائل، لكن \fI\%rule_attr\->parent_fd\fP لا يشير إلى دليل). .TP \fBEINVAL\fP في \fI\%struct\ landlock_net_port_attr\fP، رقم المنفذ أكبر من 65535. .TP \fBENOMSG\fP وصولات فارغة (أي أن \fIrule_attr\->allowed_access\fP هو 0). .TP \fBEOPNOTSUPP\fP نواة الحاسوب تدعم Landlock لكنه عُطّل في وقت الإقلاع. .TP \fBEPERM\fP \fIruleset_fd\fP ليس لديه صلاحية كتابة لمجموعة القواعد الأساسية. .SH المعايير لينكس. .SH التاريخ لينكس 5.13. .SH أمثلة انظر \fBlandlock\fP(7). .SH "انظر أيضًا" \fBlandlock_create_ruleset\fP(2), \fBlandlock_restrict_self\fP(2), \fBlandlock\fP(7) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .