UNIX系统中用户与组数据库操作详解
1. 密码数据库操作函数
在UNIX系统中,存在多个用于操作密码数据库的函数,以下为您详细介绍。
1.1 getpwent(3)函数
- 功能 :若
/etc/passwd
文件未打开,getpwent(3)
函数会自动打开该文件,然后返回一个已解析和转换好字段的passwd
结构体数据库条目。返回的指针仅在下一次调用getpwent(3)
之前有效。 - 使用方法 :若首个条目未包含所需信息,可继续调用
getpwent(3)
,直至返回空指针,这表示已到达文件末尾或出现错误。 - 错误处理 :调用
getpwent(3)
前,需将errno
置零,以区分是到达文件末尾还是出现错误。示例代码如下:
#include <stdio.h>
#include <pwd.h>
#include <errno.h>
struct passwd *pwp;
errno = 0; /* IMPORTANT: Clear error code */
pwp = getpwent(); /* Get passwd entry */
if (