GETPW - Linux手册页
时间:2019-08-20 18:00:30 来源:igfitidea点击:
Linux程序员手册 第3部分
更新日期: 2017-09-15
名称
getpw-重建密码行输入
语法
#define _GNU_SOURCE /* See feature_test_macros(7) */ #include <sys/types.h> #include <pwd.h> int getpw(uid_t uid, char *buf);
说明
getpw()函数为缓冲区buf中的给定用户ID uid重建密码行条目。返回的缓冲区包含一行格式
name:passwd:uid:gid:gecos:dir:shell
passwd结构的定义如下:
struct passwd { char *pw_name; /* username */ char *pw_passwd; /* user password */ uid_t pw_uid; /* user ID */ gid_t pw_gid; /* group ID */ char *pw_gecos; /* user information */ char *pw_dir; /* home directory */ char *pw_shell; /* shell program */ };
有关此结构的字段的更多信息,请参见passwd(5)。
返回值
getpw()函数成功返回0;否则返回0。如果出错,则返回-1,并将errno设置为指示错误。
如果在密码数据库中找不到uid,则getpw()返回-1,将errno设置为0,并使buf保持不变。
错误说明
- 0or ENOENT
- 没有用户对应于uid。
- EINVAL
- buf为NULL。
- ENOMEM
- 内存不足,无法分配passwd结构。
文件
- /etc/passwd
- 密码数据库文件
属性
有关本节中使用的术语的说明,请参见attribute(7)。
Interface | Attribute | Value |
getpw() | Thread safety | MT-Safe locale |
遵循规范
SVr2。
BUGS
getpw()函数很危险,因为它可能会溢出提供的缓冲区buf。 getpwuid(3)已将其淘汰。
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。