一、介绍
getspnam(),getspent(),setspent(),endspent()组合起来使用按顺序扫描影子文件(/etc/shadow)中的所有的各项记录
#include <shadow.h>
// 指定一个用户名,返回指定用户的信息
struct spwd *getspnam(const char *name);
// 调用会自动打开影子文件,不需要执行open打开
// 每次调用会按顺序读取各项,有点类似文件操作的lseek
struct spwd *getspent(void);
// 调用重返文件的起始处
void setspent(void);
// 调用相当于关闭影子文件,不需要执行close关闭
void endspent(void);
struct spwd {
char *sp_namp; /* Login name */
char *sp_pwdp; /* Encrypted password */
long sp_lstchg; /* Date of last change
(measured in days since
1970-01-01 00:00:00 +0000 (UTC)) */
long sp_min; /* Min # of days between changes */
long