DTraceは、特定のファイルに適用されたすべてのchmodをキャプチャします。

DTraceは、特定のファイルに適用されたすべてのchmodをキャプチャします。

Mac OS Xディレクトリの下には、ユーザーが自分の好みに応じてアクセスできるファイルが/auditあります。chmod

chmod時間、ユーザー、およびファイルchmod、特に後者を記録して、すべてのファイルで実行されたすべての操作を監査する必要があります。

dtrace -n 'syscall::chmod:entry'イベントを検出できます。最初のパラメータをどのように読み取ることができますかchmod

man 2 chmodパスが最初のパラメータにあることを知らせます。

chmod(const char *path, mode_t mode);

しかし、どうやって読むことができますかargs[0]?私のやり方が間違っているようです。エントリが実際のシステムコールと一致しない可能性があります。

監視できるプローブがある場合は、アクセス用に提供されるパラメータと種類が何であるかをどのように確認できますか?データレイアウトによっては、一部のポインタを逆参照する必要があるとします。

答え1

引数はにありますが、arg0これは実際の文字列ではなく呼び出し元のユーザー空間アドレスです。また、次の梱包が必要ですcopyinstr()

dtrace -n 'syscall::chmod:entry { printf("%d %s", uid, copyinstr(arg0)); }'

関連情報