[PHP-users 20100]Re: ApacheのUser名をPHPから取得する方法は?
Yoshihiro Hanahara
hanahara @ meiko.co.jp
2004年 1月 29日 (木) 12:27:35 JST
花原@明宏です。
On Thu, 29 Jan 2004 12:17:12 +0900 (JST)
"チノ" <cappuccino @ paya.net> wrote:
> > phpinfo()のApacheのUser/Groupに「nobody(65522)/65522」のような値が
> > 出力されているのですが、この値のうちhttpdのUser名だけをphpの関数から
> > 取得する方法はありますでしょうか?(要するに「nobody」を取得したい)
>
> get_current_user()
> でどうでしょうか。
get_current_user() は、「現在の PHP スクリプトの(ファイルの)所有者の名前
を取得する」なので、httpdプロセスのuserid/groupidではありません。
posix_geteuid(), posix_getegid() で、uid/gid が取得できます。
あとは、そこから posix_getpwuid(), posix_getgrgid()で、
各種情報を引き出せます。
以下、サンプル。
<?php
$pw = posix_getpwuid(posix_geteuid());
echo sprintf("UserID: %s (%d)<br>", $pw['name'], $pw['uid']);
$gr = posix_getgrgid(posix_getegid());
echo sprintf("GroupID: %s (%d)<br>", $gr['name'], $gr['gid']);
?>
---
Yoshihiro Hanahara <hanahara @ meiko . co . jp>
PHP-users メーリングリストの案内