getpw

Section: C Library Functions (3)
Updated: 2026-02-08
Index JM Home Page roff page
 

名前

getpw - パスワード行エントリーを取得する  

ライブラリ

標準 C ライブラリ (libc,~-lc)  

書式

#define _GNU_SOURCE             /* feature_test_macros(7) 参照 */
#include <sys/types.h>
#include <pwd.h>

[[deprecated]] 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;       /* ユーザー名 */
    char   *pw_passwd;     /* ユーザーのパスワード */
    uid_t   pw_uid;        /* ユーザー ID */
    gid_t   pw_gid;        /* グループ ID */
    char   *pw_gecos;      /* ユーザー情報 */
    char   *pw_dir;        /* ホームディレクトリ */
    char   *pw_shell;      /* シェルプログラム */
};

この構造体のフィールドの詳細は passwd(5) を参照のこと。  

返り値

getpw() 関数は、成功した場合 0 を返す; エラーが発生した場合 -1 を返し、エラーを 示すために errno がセットされる。

uid がパスワードデータベースに見つからない場合、 getpw() は -1 を返し、 errno に 0 を設定し、 buf は変更しない。  

エラー

0 または ENOENT
uid に対応するユーザーがいない。
EINVAL
buf が NULL。
ENOMEM
passwd 構造体に割り当てるメモリーが十分なかった。
 

ファイル

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

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース属性値
getpw() Thread safetyMT-Safe locale
 

標準規格

なし。  

歴史

SVr2  

バグ

getpw() 関数は、与えられたバッファー buf がオーバーフローするかもしれないので危険である。 この関数は getpwuid(3) によって古いものとなった。  

関連項目

endpwent(3), fgetpwent(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3), setpwent(3), passwd(5)


 

Index

名前
ライブラリ
書式
説明
返り値
エラー
ファイル
属性
標準規格
歴史
バグ
関連項目

This document was created by man2html, using the manual pages.