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 ;
}

你可能感兴趣的:(get)