getpw(3)

الاسم
getpw - إعادة بناء مدخل سطر كلمة السر

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

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

[[مهمل]] int getpw(uid_t uid, char *buf);

الوصف
تعيد الدالة getpw() بناء مدخل سطر كلمة السر لمعرف المستخدم uid المعطى في المخزن المؤقت buf. يحتوي المخزن المؤقت المُعاد على سطر بالتنسيق

    name:passwd:uid:gid:gecos:dir:shell

عُرف هيكل passwd في <pwd.h> كالتالي:

    struct passwd {
        char   *pw_name;       /* اسم المستخدم */
        char   *pw_passwd;     /* كلمة سر المستخدم */
        uid_t   pw_uid;        /* معرف المستخدم */
        gid_t   pw_gid;        /* معرف المجموعة */
        char   *pw_gecos;      /* معلومات المستخدم */
        char   *pw_dir;        /* دليل المنزل */
        char   *pw_shell;      /* برنامج الصدفة */
    };

لمزيد من المعلومات حول حقول هذا الهيكل، راجع passwd(5).

قيمة الإرجاع
تُرجع الدالة getpw() 0 عند النجاح؛ عند الخطأ، تُرجع -1، ويُضبط errno للإشارة إلى الخطأ.

إذا لم يُعثر على uid في قاعدة بيانات كلمة السر، تُرجع getpw() -1، وتضبط errno إلى 0، وتترك buf دون تغيير.

الأخطاء

0 أو ENOENT
    لا يوجد مستخدم مطابق لـ uid.

EINVAL
    buf هو NULL.

ENOMEM
    ذاكرة غير كافية لتخصيص بنية passwd.

الملفات

/etc/passwd
    ملف قاعدة بيانات كلمات السر

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

المعايير
لا شيء.

التاريخ
SVr2.

العلل
الدالة getpw() خطيرة لأنها قد تُفيض المخزن المؤقت buf المُقدم. أُهملت بواسطة getpwuid(3).

انظر أيضًا
endpwent(3), fgetpwent(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3), setpwent(3), passwd(5)

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

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

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