私の特別な問題は次のとおりです。たとえば、git
Ubuntu 14.04のローカルインストールでテストするサーバーでこれを設定しようとします。 HTTPではうまくできますが。apache
git clone
git push
insufficient permission for adding an object to repository database ./objects
原則として、これをデバッグするために使用できましたが、これとすべてを実行するstrace
ので、どのプロセスを実行するのかわかりません。さらに、最終タスクを実行したいユーザーが誰であるかさえわかりません。私が間違いなく知っている唯一のことは、git repoディレクトリにアクセスしておそらくそこにファイルを生成することです。git
apache
strace
./objects
だから私はディレクトリへのアクセスを「受信」し、この例では疑似コードでstdoutへの各アクセスを印刷/記録するように設定できるプログラムがあれば最も簡単な方法になると思いました。
$ ./traceDirectoryAccess --path /path/to/mygitrepo/objects
Listening for accesses on /path/to/mygitrepo/objects ...
Sat Apr 9 17:53:42 CEST 2016 - pid 1234, user myName (uid 1002) did:
> create file /path/to/mygitrepo/objects/somefile
> result: permission DENIED
...
そこにそのようなものはありますか?プログラム自体がない場合は、いくつかのカーネル機能(ファイル/sys/kernel/debug/
や類似の機能を介して?)があるかもしれません。
答え1
いいですね。次のサイトで答えを見つけました。プログラムがアクセスするファイルのリスト利用できることを説明します。ロギングファイルシステムまたはLinux監査サブシステム。