![특정 명령으로 어떤 파일에 어떤 변경 사항이 적용되었는지 어떻게 알 수 있나요? 아니면 이를 가로챌 수도 있나요?](https://linux55.com/image/4097/%ED%8A%B9%EC%A0%95%20%EB%AA%85%EB%A0%B9%EC%9C%BC%EB%A1%9C%20%EC%96%B4%EB%96%A4%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EC%96%B4%EB%96%A4%20%EB%B3%80%EA%B2%BD%20%EC%82%AC%ED%95%AD%EC%9D%B4%20%EC%A0%81%EC%9A%A9%EB%90%98%EC%97%88%EB%8A%94%EC%A7%80%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%95%8C%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F%20%EC%95%84%EB%8B%88%EB%A9%B4%20%EC%9D%B4%EB%A5%BC%20%EA%B0%80%EB%A1%9C%EC%B1%8C%20%EC%88%98%EB%8F%84%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
프로그램이 있다고 해보자mysterion
실행하면 일부 파일이 수정될 수 있습니다. 이것이 해로운지 알아내기 위해 최소한 어떤 파일이 어떻게 수정되었는지 알 수 있는 방식으로 실행하고 싶습니다. 또는 다른 프로그램을 여기에 연결하여 승인할지 거부할지 결정할 수도 있습니다. 변화앞으로심지어 그런 일도 일어납니다. 단계별 디버깅보다 더 간단한 방법이 있습니까?
물론 "변경 사항 식별" 부분에서는 전체 파일 시스템과 diff
그 이상의 스냅샷을 찍을 수 있지만 이는 아마도 큰 망치로 너트를 제동하는 것과 같을 것입니다...
답변1
모니터링 부분(샌드박스 없이)은 간단히 다음을 실행하여 수행할 수 있습니다.
strace -o file.log -e trace=file /path/to/your/binary
물론 이것은 약간의 "잡담"입니다. 따라서 약간의 후처리를 수행해야 할 수도 있습니다. strace
일반적으로 같은 이름의 패키지에 포함되어 있습니다. 특별한 64비트 버전도 있습니다.
답변2
당신은 다음과 같은 것을 사용할 수 있습니다시스템 추적이렇게 하면 권한 없이 샌드박스에서 프로그램을 실행할 수 있습니다. 그런 다음 ptrace를 사용하여 프로그램이 열려고 하는 파일 처리를 확인할 수 있습니다.
SELinux를 사용하는 경우 다른 옵션은 다음을 사용하는 것입니다.SELinux 샌드박스. 여기에서 열 수 있는 파일을 제한하고, 파일을 전혀 열 수 없게 만드는 등의 작업을 할 수 있습니다.
AppArmor를 사용하여 이러한 작업을 수행할 수 있는 방법이 있다고 생각합니다. 하지만 안타깝게도 저는 의미 있는 제안을 제공할 만큼 AppArmor에 익숙하지 않습니다.