作成日:2018-08-02, 更新日:2018-08-10
基本
ユーザーIDを取得してから、ユーザーの詳細を「posix_getpwuid()」で取得する
var_dump( posix_getpwuid(ユーザーID) ); //Array ( // [name] => 〇〇〇 // [passwd] => x // [uid] => 〇〇〇 // [gid] => 〇〇〇 // [gecos] => // [dir] => 〇〇〇 // [shell] => 〇〇〇 //)
※サーバによっては戻り値に違いがあるかもしれない。
スクリプト実行者の取得
・「posix_geteuid()」でスクリプト実行者のID取得
・「posix_getpwuid()」で詳細取得
var_dump( posix_getpwuid(posix_geteuid()) );
ファイル所有者の取得
・「fileowner($path)」でファイル所有者のIDを取得
・「posix_getpwuid()」で詳細取得
$path = ファイルのPATH; var_dump( posix_getpwuid(fileowner($path)) );
スクリプト実行者がファイル所有者のときパーミッションを書き換える
$path = ファイルPATH; if ( posix_geteuid() == fileowner($path) ) { // スクリプト実行者とファイル所有者が同じ chmod($path, 0664); }