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 に答える