当前位置: 技术问答>linux和unix
【Unix C】如果根据用户名得到uid
来源: 互联网 发布时间:2016-10-26
本文导语: 本帖最后由 ArchiLife 于 2010-12-14 20:33:34 编辑 找了半天没找到对应的函数…………反过来的好像也没有 | struct passwd * getpwuid (uid_t uid) 该函数用来获取指定用户id的用户详细信息,其结果保...
|
struct passwd * getpwuid (uid_t uid) 该函数用来获取指定用户id的用户详细信息,其结果保存函数返回的结构struct passwd中。
struct passwd * getpwnam (const char *name) 该函数的作用于getpwuid类似,不过该函数时根据用户的登录名获取用户的详细信息。
结构struct passwd有以下变量:
char *pw_name
用户登录名
char *pw_passwd.
加密的密码
uid_t pw_uid
用户id
gid_t pw_gid
用户组ID
char *pw_gecos
用户实际姓名.
char *pw_dir
用户home目录,或者初始工作目录
char *pw_shell
用户默认shell
struct passwd * getpwnam (const char *name) 该函数的作用于getpwuid类似,不过该函数时根据用户的登录名获取用户的详细信息。
结构struct passwd有以下变量:
char *pw_name
用户登录名
char *pw_passwd.
加密的密码
uid_t pw_uid
用户id
gid_t pw_gid
用户组ID
char *pw_gecos
用户实际姓名.
char *pw_dir
用户home目录,或者初始工作目录
char *pw_shell
用户默认shell
|
#include
#include
#include
main(void)
{
struct passwd *user;
user=getpwnam("root");
printf("root uid:%dn", user->pw_uid);
return 0;
}
#include
#include
main(void)
{
struct passwd *user;
user=getpwnam("root");
printf("root uid:%dn", user->pw_uid);
return 0;
}