kazmax - Linux で自宅サーバー

getpw - ライブラリコールの説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. 返り値
  5. エラー
  6. ファイル
  7. 準拠
  8. バグ
  9. 関連項目

名前

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)