Depuração genérica / registro / rastreamento do diretório do sistema de arquivos e acesso a arquivos? [duplicado]

0

Este é o meu problema particular: estou tentando configurar git em um servidor, para o qual estou fazendo um teste em um apache instalado localmente no Ubuntu 14.04; por exemplo, posso fazer git clone fine em HTTP, mas git push falha com insufficient permission for adding an object to repository database ./objects .

Agora, em princípio, eu poderia ter usado strace para depurar isso, mas esse tipo de ação passa por git e apache e, como tal, eu realmente não sei qual processo para strace . Além disso, eu não posso nem dizer qual usuário a operação final tenta executar. A única coisa que eu sei com certeza é que é o diretório git repo ./objects que está sendo acessado, provavelmente com a intenção de criar um arquivo lá.

Então eu pensei, provavelmente o mais fácil para mim seria se houvesse um programa, que pudesse ser configurado para "escutar" acessos a um diretório, e imprimir / registrar todos esses acessos para dizer stdout; no exemplo como neste pseudocódigo:

$ ./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
...

Existe algo assim por aí? Se não houver um programa em si, talvez haja algum recurso de kernel (por exemplo, através de um arquivo em /sys/kernel/debug/ ou similar?)

    
por sdaau 09.04.2016 / 17:59

1 resposta

1

Ok, encontrei uma resposta neste mesmo site: Listar os arquivos acessados por um programa explica que se pode usar LoggedFS ou o Linux sistema de auditoria .

    
por 09.04.2016 / 18:10