ルートが所有するプロセスはファイルに書き込めません。

ルートが所有するプロセスはファイルに書き込めません。

私は与えられたパスで複数のファイルを読み書きする必要があるプログラム(syslog-ng)を実行しています。そのパスのファイルを開くことができないと主張して起動時に失敗します。

次のディレクトリ構造を想定します。

/var/platform/program

ディレクトリplatformの権限は0655に設定されています(所有者ユーザーには実行権限がありません)。その権限を0755に変更すると、syslog-ngが正しく機能します。

一方、私は同じディレクトリにあるファイルを開いて書こうとする小さなプログラムをCで書いていましたが、rootとして実行するとうまくいきますが、syslog-ngは失敗します...

この状況ではどのような問題が発生する可能性がありますか?

ベストアンサー1

syslogがこのディレクトリにアクセスしようとする可能性があるため、chdirそのディレクトリに実行ビットを設定する必要があります。

バラよりビットを実行して読み出します。 Linuxでは、ディレクトリ権限はどのように機能しますか?より多くの情報を知りたいです。

おすすめ記事