내 특별한 문제는 다음과 같습니다. 예를 들어 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
좋습니다. 다음 사이트에서 답을 찾았습니다.프로그램에서 액세스하는 파일 나열사용할 수 있음을 설명합니다.로깅 파일 시스템또는 리눅스감사 하위 시스템.