- unstable 4.31.0-1
| getpwent(3) | Library Functions Manual | getpwent(3) |
الاسم¶
getpwent, setpwent, endpwent - الحصول على مدخل ملف كلمة السر
المكتبة¶
مكتبة سي المعيارية (libc، -lc)
موجز¶
#include <sys/types.h> #include <pwd.h>
struct passwd *getpwent(void); void setpwent(void); void endpwent(void);
getpwent()، setpwent()، endpwent():
_XOPEN_SOURCE >= 500
|| /* glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
الوصف¶
الدالة getpwent() تُرجع مؤشرًا إلى بنية تحتوي على الحقول المفصولة لسجل من قاعدة بيانات كلمة السر (مثل ملف كلمة السر المحلي /etc/passwd، NIS، وLDAP). في المرة الأولى التي تُستدعى فيها getpwent()، تُرجع المدخل الأول؛ وبعد ذلك، تُرجع المدخلات المتعاقبة.
الدالة setpwent() تُعيد التوجيه إلى بداية قاعدة بيانات كلمة السر.
الدالة endpwent() تُستخدم لإغلاق قاعدة بيانات كلمة السر بعد إجراء كل المعالجة.
عُرف هيكل 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; /* برنامج الصدفة */
};
عند تمكين كلمات سر shadow(5) (وهو المبدئي في العديد من تثبيتات GNU/Linux) فإن محتوى pw_passwd عادةً لا يكون مفيدًا جدًا. في هذه الحالة، تُخزَّن معظم كلمات السر في ملف منفصل.
قد يكون المتغير pw_shell فارغًا، وفي هذه الحالة سينفذ النظام الصدفة المبدئية (/bin/sh) للمستخدم.
لمزيد من المعلومات حول حقول هذا الهيكل، راجع passwd(5).
قيمة الإرجاع¶
الدالة getpwent() تُرجع مؤشرًا إلى بنية passwd، أو NULL إذا لم يكن هناك المزيد من المدخلات أو حدث خطأ. إذا حدث خطأ، يُضبط errno للإشارة إلى الخطأ. إذا أراد المرء التحقق من errno بعد الاستدعاء، يجب ضبطه على الصفر قبل الاستدعاء.
قد تشير القيمة المُرجعة إلى منطقة ثابتة، وقد تُستبدل باستدعاءات لاحقة لـ getpwent()، getpwnam(3)، أو getpwuid(3). (لا تُمرر المؤشر المُعاد إلى free(3).)
الأخطاء¶
الملفات¶
- /etc/passwd
- ملف قاعدة بيانات كلمات السر المحلية
السمات¶
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
| الواجهة | السمة | القيمة |
| getpwent() | سلامة الخيوط | MT-Unsafe race:pwent race:pwentbuf locale |
| setpwent()، endpwent() | سلامة الخيوط | غير آمن للمسارات المتعددة (MT-Unsafe) سباق:pwent locale |
في الجدول أعلاه، pwent في race:pwent يُشير إلى أنه إذا استُخدمت أي من الدوال setpwent()، getpwent()، أو endpwent() بالتوازي في خيوط مختلفة من برنامج، فقد تحدث سباقات بيانات.
الإصدارات¶
لم يُحدد حقل pw_gecos في POSIX، ولكنه موجود في معظم التنفيذات.
المعايير¶
POSIX.1-2008.
التاريخ¶
POSIX.1-2001، SVr4، 4.3BSD.
انظر أيضًا¶
fgetpwent(3)، getpw(3)، getpwent_r(3)، getpwnam(3)، getpwuid(3)، putpwent(3)، shadow(5)، passwd(5)
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 8 فبراير 2026 | صفحات دليل لينكس 6.18 |