PHPのお勉強!

PHP TOP

posix_geteuid

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

posix_geteuid現在のプロセスの有効なユーザー ID を返す

説明

posix_geteuid(): int

現在のプロセスの有効なユーザー ID を返します。 使用可能なユーザー名に変換する方法に関する情報については、 posix_getpwuid() も参照ください。

パラメータ

この関数にはパラメータはありません。

戻り値

ユーザー ID を表す整数値を返します。

例1 posix_geteuid() の例

この例は、まず現在のユーザー ID を表示し、 それから posix_seteuid() で実効ユーザー ID を設定します。その後、改めて実ユーザー ID と実効ユーザー ID を表示します。

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_seteuid(10000);
echo
posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10000
?>

参考

  • posix_getpwuid() - 指定 ID のユーザーに関する情報を返す
  • posix_getuid() - 現在のプロセスの実際のユーザー ID を返す
  • posix_setuid() - 現在のプロセスの UID を設定する
  • POSIX man ページ GETEUID(2)

add a note

User Contributed Notes 2 notes

up
2
divinity76+spam at gmail dot com
2 years ago
if you for some reason need the euid without depending on php-posix being available, try

<?php
function geteuid_without_posix_dependency(): int
{
try {
// this is faster if available
return \posix_geteuid();
} catch (
\Throwable $ex) {
// php-posix not available.. fallback to hack
$t = tmpfile();
$ret = fstat($t)["uid"];
fclose($t);
return
$ret;
}
}
up
0
Anonymous
2 months ago
Please note the example code shown above is invalid and will fail, since UID 10001 cannot use posix_seteuid to change its UID to 10000
To Top