cli运行模式下,赋予www用户与组权限
class setUserAndGroup{
public $user = 'www';
public $group = 'www';
public function setUserAndGroup()
{
// get uid
$user_info = posix_getpwnam($this->user);
if(!$user_info)
{
return self::log( "Waring: User {$this->user} not exsits", true);
}
$uid = $user_info['uid'];
// get gid
if($this->group)
{
$group_info = posix_getgrnam($this->group);
if(!$group_info)
{
return self::log( "Waring: Group {$this->group} not exsits", true);
}
$gid = $group_info['gid'];
}
else
{
$gid = $user_info['gid'];
}
// set uid and gid
if($uid != posix_getuid() || $gid != posix_getgid())
{
if(!posix_setgid($gid) || !posix_initgroups($user_info['name'], $gid) || !posix_setuid($uid))
{
self::log( "Waring: change gid or uid fail.", true);
}
}
}
}