getpwuid和getpwnam的用法

如果知道一个用户的用户ID或者登录名,可以通过getpwuid或getpwnam函数获得用户的登录信息.
函数原型为:
      

#include <pwd.h>
#include
<sys/types.h>

struct passwd *getpwnam(const char *name);
struct passwd *getpwuid(uid_t uid);

The passwd structure
is defined in <pwd.h> as follows:

struct passwd {
char *pw_name; /* user name */
char *pw_passwd; /* user password */
uid_t pw_uid;
/* user id */
gid_t pw_gid;
/* group id */
char *pw_gecos; /* real name */
char *pw_dir; /* home directory */
char *pw_shell; /* shell program */
};



使用举例:
#include <pwd.h>
#include
<sys/types.h>
#include
<stdio.h>

int main()
{
uid_t my_uid;
my_uid
= 500;

struct passwd *my_info;

my_info
= getpwuid( my_uid );
//my_info = getpwnam( "fflg" );

printf(
"my name = [%s]\n", my_info->pw_name );
printf(
"my passwd = [%s]\n", my_info->pw_passwd );
printf(
"my uid = [%d]\n", my_info->pw_uid );
printf(
"my gid = [%d]\n", my_info->pw_gid );
printf(
"my gecos = [%s]\n", my_info->pw_gecos );
printf(
"my dir = [%s]\n", my_info->pw_dir );
printf(
"my shell = [%s]\n", my_info->pw_shell );

return 0;
}

posted @ 2011-05-07 12:47  hnrainll  阅读(4724)  评论(0编辑  收藏  举报