파일 읽기, 쓰기, 폴더 생성 등 USB 활동에 대한 스크립트 모니터링을 수행하고 있습니다. USB 장치가 연결되면 코드 베이스는 자동으로 마운트 지점을 다음 위치에 설정하고, USB가 제거되면 이 마운트 지점을 삭제합니다./media/usb/mounted_usb_name
auditd
다음 규칙을 사용하여 시청 하도록 구성했습니다 ./media/usb
-w /media/usb -p r -k USB_r
-w /media/usb -p w -k USB_w
-w /media/usb -p a -k USB_a
-w /media/usb -p x -k USB_x
auditd
... 로그에서 다양한 유형의 활동을 식별할 수 있습니다 .
이는 대부분 잘 작동합니다. 마운트된 USB 위치에서 다양한 작업에 대한 로그 활동을 볼 수 있습니다. 그러나 USB를 제거했다가 다시 삽입하면 코드 베이스에 의해 마운트 디렉터리가 삭제되고 다시 생성되어 auditd
로그에 보고되는 모든 활동이 중지되었습니다.
생성된 두 마운트 지점 사이에는 소유자나 권한에 차이가 없습니다. 또한 에서 직접 폴더를 생성하고 /media/usb
삭제하고 다시 생성해 보았지만 auditd
해당 폴더가 존재할 때마다 추적하는 데 문제가 없습니다. 시스템 로그를 확인했지만 내가 찾은 유일한 단서는 다음 줄뿐이었습니다.
Volume was not properly unmounted. Some data may be corrupted. Please run fsck.
...USB가 연결되면 발생합니다.끼워 넣다, 삭제하는 대신.
두 대의 다른 컴퓨터에서 여러 개의 USB를 사용해 보았습니다. 행동은 일관됩니다. 문제를 해결하는 유일한 방법은 다음을 실행하는 것입니다.
systemctl restart auditd
...이것은 우리 목표를 위한 좋은 선택이 아닙니다.
어떤 도움이라도 대단히 감사하겠습니다 :)
답변1
감사된 'watches'는 inode로 파일을 추적합니다. 'watch'가 있는 디렉터리가 삭제되고 다시 생성되면 inode가 변경되고 'watch'는 문제의 파일 추적을 중지합니다.
-F path=
절대 경로를 사용하여 파일을 추적 해 보세요 .
auditctl -a always,exit -F path=/media/usb