名前


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)

openSUSE Logo

コンテンツ