ファイルアクセス権を持つログファイルを作成するプロセスがあります。644しかし、LD_PRELOADを使用して特定の共有オブジェクトライブラリをロードするプロセスを実行すると、ファイルアクセス権は2101に設定されます設定されています)。プロセスを作成するプログラムのソースコードはありませんが、.soファイルのソースコードがあります。ファイルのアクセス許可は、.soファイルがロードされた結果であることを確かに知っています。ファイルを作成するプログラムの.soファイルをロードすると、ファイルのアクセス許可にsetuid/setgidビットが設定されるためです。私が書いたプログラムにgdbを使ってみましたが、コードをステップ実行することができません。 gdbを使ってロードされた.soファイルでプログラムを起動すると、セグメント違反エラーが発生します。この問題のトラブルシューティングはどのように行うべきですか? .soファイルのソースコードにファイルアクセス許可が設定されていません。間違ったファイルアクセス許可のトラブルシューティング
#include <stdio.h>
int main(){
printf(" This is my program");
system("touch /tmp/myfile.txt");
return(0);
}
うわー!!!ありがとうER – user4002112
ちょうどもう1つの明確化、介入を行う正しい方法は、ラッパー関数を記述することでしょうか? – user4002112
@ user4002112あなたが何を求めているのか分かりません。インターポーザを書く場合は、*正しく書く必要があります*。 'open'の場合、2つではなく3つの引数が必要です。 –