posix_getgrgid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_getgrgid指定したグループ ID を有するグループに関する情報を返す

説明

posix_getgrgid(int $group_id): array|false

指定した ID のグループに関する情報を取得します。

パラメータ

group_id

グループ ID。

戻り値

以下の要素を持つ配列を返します。

グループ情報の配列
要素 説明
name グループ名。これは、16 文字以下の短い文字列からなる 「ハンドル」であり、実際の完全な名前とは異なります。
passwd グループのパスワードを暗号化したもの。 システムが「シャドー」パスワードを使用している場合は、 ここではアスタリスクが返されます。
gid グループ ID。この関数をコールする際に指定した group_id と同じものになるので、冗長なデータです。
members このグループに属する全メンバーを表す文字列の配列。
この関数は、失敗時に false を返します。

例1 posix_getgrgid() の使用例

<?php

$groupid
= posix_getegid();
$groupinfo = posix_getgrgid($groupid);

print_r($groupinfo);
?>

上の例の出力は、 たとえば以下のようになります。

Array
(
    [name]    => toons
    [passwd]  => x
    [members] => Array
        (
            [0] => tom
            [1] => jerry
        )
    [gid]     => 42
)

参考

  • posix_getegid() - 現在のプロセスの有効なグループ ID を返す
  • posix_getgrnam() - 指定した名前のグループに関する情報を返す
  • filegroup() - ファイルのグループを取得する
  • stat() - ファイルに関する情報を取得する
  • POSIX man ページ GETGRNAM(3)

add a note

User Contributed Notes 4 notes

up
1
tech at dslip dot com dot au
22 years ago
okies...

This code should be considered as an OPTION only, it works under MY set of circumstances, and that is all I intended. The below funtion will return the NAME of the GROUP if provided with the Group ID#

function RC_posix_getgrgid($gid)
{
$LocationGroup = "/etc/group"; //EDIT THIS IF YOU HAVE A DIFFERENT OS. mine = debian
$fp = fopen ("/etc/group","r");
while ($groupinfo = fscanf ($fp, "%[a-zA-Z0-9]:x:%[0-9]:%[a-zA-Z0-9]\n"))
{
list ($name, $groupID, $nfi) = $groupinfo;
if ($groupID == $gid)
{
$returnval = $name;
}
}
fclose($fp);
if($returnval) { return $returnval; } else { return 0; }
}
up
0
cweiske at php dot net
15 years ago
When posix_getgrgid() fails (e.g. an invalid/unknown group id), it returns false.
This is except for Mac OSX on which you get an array with name "nogroup" and gid of "-1".
up
0
james at jfc dot org dot uk
21 years ago
in php-4.3 the array returned seems to have changed.

it now returns:

["name"] group name
["passwd"] group password
["members"] group members (array of usernames)
["gid"] numeric group id
up
0
rcgraves+php at brandeis dot edu
24 years ago
Returns an array containing the elements of the group structure. The array has both numeric indices, each of which is a string naming one member of the group, and named string indices. The array elements are:

$_["name"] string groupname (users)
$_["gid"] integer gidnumber (e.g. 0 for wheel/root)
$_["members"] int number of users in group
$_[0]..$_[n] string usernames in the group
To Top