getpwuid

ユーザー ID からユーザー情報を取得する

構文

解説

getpwuid はシステムのパスワードファイル(ユーザーの登録情報を格納したファイルで通常は /etc/passwd)にアクセスし、UID に指定されたユーザー ID (uid) から該当のユーザー情報を返します。

#    0         1        2     3       4 
my ( $name,    $passwd, $uid, $gid,   $quota,
     $comment, $gcos,   $dir, $shell, $expire ) = getpwuid(1000);
#    5         6        7     8       9
No. 変数 意味 実例
0 $name ユーザー名 futomi
1 $passwd パスワード (ハッシュ値やダミー文字になっていることがほとんどです) x
2 $uid ユーザーID 1000
3 $gid グループID 1000
4 $quota クォータ情報
5 $comment コメント
6 $gcos ユーザーの実名 Futomi Hatano
7 $dir ホームディレクトリ /home/futomi
8 $shell ログインシェル /bin/bash
9 $expire 有効期限

getpwuid は、よく現在のスクリプトを実行しているユーザーの情報を取得するために使われることがあります。 その場合は、特殊変数 $< (プロセスの実ユーザー ID) を使います。 実ユーザーと実効ユーザーが異なる場合、もし実効ユーザーの ID が必要なら $> を使います。

my @info = getpwuid($<);

なお、getpwent は Windows では機能しませんので注意してください。