2

在 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);
}
4

1 回答 1

1

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

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

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

于 2013-04-17T06:26:54.507 回答