在Linux中写入命名pipe道的最好,最安全的方法是什么? 或者,我怎样才能使命名pipe道安全?
以下是我如何使用PHP写入到Linux上的pipe道:
$con = fopen("/tmp/myFIFO", "w"); fwrite($con, "UP\n"); fclose($con);
我希望使它更安全。
这是我如何创build在C:
int pc; char mode[] = "0777"; int i = strtol(mode, 0, 8); pc = mkfifo(FIFO, 0); if(pc < 0) { printf("Failed in creating a pipe\n"); printf("Exiting...\n"); exit(1); } else { printf("Success in Creating Pipe\n"); chmod("/tmp/myFIFO", i); }
您可以使用umask
来控制您创建的文件的权限。 你也有PHP的chmod
。
但是,您也有posix_mkfifo
,这完全符合您的目的:
bool posix_mkfifo (string $ pathname ,int $ mode )