名前
getpw - パスワード行エントリを取得する
書式
#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 構造体は <pwd.h> で以下のように定義されている:
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 */ };
返り値
getpw() 関数は、成功した場合 0 を、エラーが発生した場合 -1 を返す。
エラー
ENOMEM | passwd 構造体を割り当てるためのメモリが不十分。 |
ファイル
/etc/passwd | |
パスワードデータベースファイル | |
準拠
SVr2
バグ
getpw() 関数は、与えられたバッファ buf がオーバーフローするかもしれないので危険である。 この関数は getpwuid(3) によって古いものとなった。
関連項目
endpwent(3), fgetpwent(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3), setpwent(3), passwd(5)