Posted on 2009-05-06 09:36
Prayer 閱讀(2360)
評論(0) 編輯 收藏 引用 所屬分類:
LINUX/UNIX/AIX
如果知道一個用戶的用戶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>
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 );
}
~