在Linux中写入命名管道的最佳,最安全的方法是什么?

时间:2013-04-17 06:07:41

标签: php c linux ipc named-pipes

在Linux中写入命名管道的最佳,最安全的方法是什么?或者,如何使命名管道安全?

以下是我使用PHP在linux上写入管道的方法:

$con = fopen("/tmp/myFIFO", "w");
fwrite($con, "UP\n");
fclose($con);

我希望让它更安全。

这就是我在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);
}

1 个答案:

答案 0 :(得分:1)

您可以使用umask来控制您创建的文件的权限。你也在PHP中有chmod

但是,您也可以使用posix_mkfifo,这完全符合您的目的:

bool posix_mkfifo (字符串 $ pathname ,int $ mode