getpw - ライブラリコールの説明 - Linux コマンド集 一覧表
名前
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 ()によって古いものとなった。
関連項目
endpwent
(3),
fgetpwent
(3),
getpwent
(3),
getpwnam
(3),
getpwuid
(3),
putpwent
(3),
setpwent
(3),
passwd
(5)