GETPW

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
 

名前

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

書式

#define _GNU_SOURCE             /* feature_test_macros(7) 参照 */
#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;       /* ユーザー名 */
    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 safety MT-Safe locale

 

準拠

SVr2  

バグ

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

関連項目

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

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

パスワード   passwd   バッファー   構造体   getpw   エントリー   gecos   shell   データベース   define   feature   macros   types   struct   ユーザー名   グループ   ホーム   シェル   詳細   成功   セット   メモリー   用語   allbox   インターフェース

Linux マニュアル 一覧

関連するコマンド・関数

putpwent.3   fgetpwent.3   endpwent.3   getpwent.3   setpwent.3   fgetpwent_r.3
 

Index

名前
書式
説明
返り値
エラー
ファイル
属性
準拠
バグ
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:20 GMT, October 11, 2026