GETPWNAM(3)

名前
getpwnam, getpwuid - パスワードファイルのエントリの取り出し

書式
#include <pwd.h>
#include <sys/types.h>

struct passwd *getpwnam(const char * name);

struct passwd *getpwuid(uid_t uid);

説明
getpwnam() 関数は、ユーザ名 name にマッチする /etc/passwd の行を分解したフィールドを含む構造体へのポインタを返す。

getpwuid() 関数は、ユーザ ID uid にマッチする /etc/passwd の行を分解したフィールドを含む構造体へのポインタを返す。

passwd 構造体は、<pwd.h> で以下のように定義されている:

    struct passwd {
            char    *pw_name;		/* ユーザ名 */
            char    *pw_passwd;		/* ユーザのパスワード */
            uid_t   pw_uid;			/* ユーザ ID */
            gid_t   pw_gid;			/* グループ ID */
            char    *pw_gecos;      	/* 本名 */
            char    *pw_dir;  		/* ホームディレクトリ */
            char    *pw_shell;      	/* シェルプログラム */
    };

返り値
getpwnam() と getpwuid() 関数は、passwd 構造体へのポインタ を返す。一致するエントリが無いか、エラーが発生した場合は NULL を返す。

エラー

ENOMEM
    passwd 構造体を割り当てるためのメモリが不十分。

ファイル

/etc/passwd
    パスワードデータベースファイル

準拠
SVID 3, POSIX, BSD 4.3

関連項目
fgetpwent(3), getpwent(3), setpwent(3), endpwent(3), getpw(3), putpwent(3), passwd(5).