.\" -*- coding: UTF-8 -*- .\" Copyright 1992, Drew Eckhardt .\" 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 chroot 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم chroot \- تغيير الدليل الجذر .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBint chroot(const char *\fP\fIpath\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBchroot\fP(): .nf Since glibc 2.2.2: _XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L) || /* Since glibc 2.20: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE Before glibc 2.2.2: none .fi .SH الوصف يغير \fBchroot\fP() الدليل الجذر للعملية المستدعية إلى ذلك المحدد في \fIpath\fP. سيُستخدم هذا الدليل لأسماء المسارات التي تبدأ بـ \fI/\fP. يُورث الدليل الجذر بواسطة جميع أبناء العملية المستدعية. .P فقط عملية مميزة (لينكس: التي تملك القدرة \fBCAP_SYS_CHROOT\fP في مساحة المستخدم الخاصة بها) قد تستدعي \fBchroot\fP(). .P يغير هذا الاستدعاء مكونًا في عملية تحليل اسم المسار ولا يفعل شيئًا آخر. على وجه الخصوص، ليس مخصصًا للاستخدام لأي غرض أمني، لا لعزل عملية بالكامل ولا لتقييد استدعاءات نظام نظام الملفات. في الماضي، استُخدم \fBchroot\fP() بواسطة الخدمات الخلفية لتقييد نفسها قبل تمرير مسارات يقدمها مستخدمون غير موثوقون إلى استدعاءات نظام مثل \fBopen\fP(2). ومع ذلك، إذا نُقل مجلد خارج دليل chroot، يمكن للمهاجم استغلال ذلك للخروج من دليل chroot أيضًا. أسهل طريقة لفعل ذلك هي استخدام \fBchdir\fP(2) إلى المجلد المراد نقله، وانتظار نقله للخارج، ثم فتح مسار مثل ../../../etc/passwd. .P .\" This is how the "slightly trickier variation" works: .\" https://github.com/QubesOS/qubes-secpack/blob/master/QSBs/qsb-014-2015.txt#L142 نوع مختلف أكثر صعوبة قليلاً يعمل أيضًا في بعض الظروف إذا لم يكن \fBchdir\fP(2) مسموحًا به. إذا سمحت خدمة خلفية بتحديد "دليل chroot"، فهذا يعني عادةً أنه إذا أردت منع المستخدمين البعيدين من الوصول إلى ملفات خارج دليل chroot، يجب عليك ضمان عدم نقل المجلدات خارجه أبدًا. .P لا يغير هذا الاستدعاء دليل العمل الحالي، لذا بعد الاستدعاء يمكن أن يكون \[aq]\fI.\fP\[aq] خارج الشجرة المتجذرة عند \[aq]\fI/\fP\[aq]. على وجه الخصوص، يمكن للمستخدم الفائق الهروب من "سجن chroot" بفعل: .P .in +4n .EX mkdir foo; chroot foo; cd ..; .EE .in .P لا يغلق هذا الاستدعاء واصفات الملفات المفتوحة، وقد تسمح هذه الواصفات بالوصول إلى ملفات خارج شجرة chroot. .SH "قيمة الإرجاع" عند النجاح، يُعاد الصفر. وعند حدوث خطأ، يُعاد الرقم \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء اعتمادًا على نظام الملفات، يمكن إرجاع أخطاء أخرى. الأخطاء الأكثر عمومية مُدرجة أدناه: .TP \fBEACCES\fP .\" Also search permission is required on the final component, .\" maybe just to guarantee that it is a directory? أُذونات البحث مرفوضة في أحد مكونات بادئة المسار. (انظر أيضًا \fBpath_resolution\fP(7).) .TP \fBEFAULT\fP المسار \fIpath\fP يشير إلى خارج مساحة العناوين التي يمكن الوصول إليها. .TP \fBEIO\fP حدث خطأ إدخال/إخراج. .TP \fBELOOP\fP وُجد عدد كبير جدًا من الوصلات الرمزية أثناء تحليل \fIpath\fP. .TP \fBENAMETOOLONG\fP المسار \fIpath\fP طويل جداً. .TP \fBENOENT\fP الملف غير موجود. .TP \fBENOMEM\fP ذاكرة النواة المتوفرة غير كافية. .TP \fBENOTDIR\fP أحد مكونات المسار \fIpath\fP ليس دليلاً. .TP \fBEPERM\fP المستدعي لديه امتياز غير كافٍ. .SH المعايير لا شيء. .SH التاريخ .\" SVr4 documents additional EINTR, ENOLINK and EMULTIHOP error conditions. .\" X/OPEN does not document EIO, ENOMEM or EFAULT error conditions. SVr4, 4.4BSD, SUSv1 (مُوسومة ليتم سحبها), SUSv2 (مُوسومة قديمة). هذه الدالة ليست جزءًا من POSIX.1\-2001. .SH ملاحظات عملية ابنة مُنشأة عبر \fBfork\fP(2) ترث الدليل الجذر لأبويها. يُترك الدليل الجذر دون تغيير بواسطة \fBexecve\fP(2). .P الرابط الرمزي السحري، \fI/proc/\fPpid\fI/root\fP، يمكن استخدامه لاكتشاف الدليل الجذر لعملية؛ انظر \fBproc\fP(5) للتفاصيل. .P فري بي إس دي لديها استدعاء نظام \fBjail\fP() أقوى. .SH "انظر أيضًا" \fBchroot\fP(1), \fBchdir\fP(2), \fBpivot_root\fP(2), \fBpath_resolution\fP(7), \fBswitch_root\fP(8) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .