Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 临时更改正在运行的进程的标识_Php_Macos_Posix - Fatal编程技术网

Php 临时更改正在运行的进程的标识

Php 临时更改正在运行的进程的标识,php,macos,posix,Php,Macos,Posix,我想临时更改正在运行的根进程的标识 我读过这样做的方法,首先调用setegid,然后调用seteuid 问题在于,这个群体不知何故被忽视了: <?php # This is executed as root. var_dump(posix_setegid(61)); # localaccounts(61) var_dump(posix_seteuid(502)); # bot(502) $fp = fopen("/tmp/test", "w+b"); system("ls -la

我想临时更改正在运行的根进程的标识

我读过这样做的方法,首先调用
setegid
,然后调用
seteuid

问题在于,这个群体不知何故被忽视了:

<?php
# This is executed as root.
var_dump(posix_setegid(61));   # localaccounts(61)
var_dump(posix_seteuid(502));  # bot(502)

$fp = fopen("/tmp/test", "w+b");

system("ls -la /tmp/test");

unlink("/tmp/test");
但我希望它能输出:

-rw-r--r--  1 bot  localaccounts  0 Feb  2 17:49 /tmp/test

我错过什么了吗


更新:它在linux机器上工作。这是不是有些奇怪的OSX怪癖?

Mac os x源于Unix的BSD分支

根据BSD Unix语义,赋予新创建的文件的组所有权是无条件地从创建该文件的目录的组所有权继承的

(来源-我找不到更好的来源)

创建文件后,始终可以使用
chgrp
更改组

-rw-r--r--  1 bot  localaccounts  0 Feb  2 17:49 /tmp/test