getpwnam(从密码文件中取得指定账号的数据)

相关函数
getpw,fgetpwent,getpwent,getpwuid

表头文件
#include
#include

定义函数
struct passwd * getpwnam(const char * name);

函数说明
getpwnam()用来逐一搜索参数name 指定的账号名称,找到时便将该
用户的数据以passwd结构返回。passwd结构请参考getpwent()。
返回值 返回passwd 结构数据,如果返回NULL 则表示已无数据,或有错误 发生。


范例:

/*取得root账号的识别码和根目录*/
#include
#include
main()
{
struct passwd *user;
user = getpwnam(“root”);
printf(“name:%s\n”,user->pw_name);
printf(“uid:%d\n”,user->pw_uid);
printf(“home:%s\n”,user->pw_dir);
}
执行 name:root
uid:0
home:/root


passwd 结构定义如下

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;     /* 所使用的shell路径*/

};

台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()