euidaccess(3)

الاسم
euidaccess, eaccess - فحص صلاحيات المستخدم الفعّال لملف

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

موجز
#define _GNU_SOURCE             /* انظر feature_test_macros(7) */
#include <unistd.h>

int euidaccess(const char *path, int mode);
int eaccess(const char *path, int mode);

الوصف
مثل access(2)، تفحص euidaccess() صلاحيات ووجود الملف المُعرَّف بواسطة معاملها path. لكن، بينما تُجري access(2) الفحوص باستخدام مُعرِّفات المستخدم والمجموعة الحقيقية للعملية، تستخدم euidaccess() المُعرِّفات الفعّالة.

mode هو قناع يتكون من واحد أو أكثر من R_OK و W_OK و X_OK و F_OK، بنفس المعاني كما في access(2).

eaccess() هو مرادف لـ euidaccess()، مُقدَّم للتوافق مع بعض الأنظمة الأخرى.

قيمة الإرجاع
عند النجاح (مُنحت جميع الصلاحيات المطلوبة)، يُعاد صفر. عند الخطأ (طلب بت واحد على الأقل في mode صلاحية مرفوضة، أو حدث خطأ آخر)، يُعاد -1، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء
كما في access(2).

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
euidaccess()، eaccess() | سلامة الخيوط | MT-Safe

الإصدارات
بعض الأنظمة الأخرى تحتوي على دالة eaccess().

المعايير
لا يوجد.

التاريخ

eaccess()
    glibc 2.4.

ملاحظات
تحذير: استخدام هذه الدالة لفحص صلاحيات عملية على ملف قبل تنفيذ عملية ما بناءً على تلك المعلومات يؤدي إلى حالات سباق: قد تتغير صلاحيات الملف بين الخطوتين. عمومًا، من الأكثر أمانًا محاولة العملية المطلوبة فقط ومعالجة أي خطأ صلاحية يحدث.

تقوم هذه الدالة دائمًا بإلغاء مرجعية الروابط الرمزية. إذا كنت بحاجة لفحص الصلاحيات على رابط رمزي، استخدم faccessat(2) مع الأعلام AT_EACCESS و AT_SYMLINK_NOFOLLOW.

انظر أيضًا
access(2), chmod(2), chown(2), faccessat(2), open(2), setgid(2), setuid(2), stat(2), credentials(7), path_resolution(7)

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

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

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