%EA%B0%80%20%ED%8F%AC%ED%95%A8%EB%90%9C%20%ED%8C%8C%EC%9D%BC%EC%9D%B4%20%EB%A1%9C%EC%BB%AC%20%ED%8C%8C%EC%9D%BC%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%97%90%20%EC%83%9D%EC%84%B1%EB%90%A0%20%EB%95%8C%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%9D%B4%EB%B2%A4%ED%8A%B8%EB%A5%BC%20%EC%BA%A1%EC%B2%98%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
나는 사용자가 워크스테이션의 하드 드라이브(내가 관리함)에 특정 콘텐츠가 포함된 파일을 쓸 때 실시간으로 이벤트를 추적하는 일종의 트립와이어 보안 메커니즘을 구현하고 싶습니다.
그렇지 않으면 훌륭하다로깅 파일 시스템파일 내용은 모니터링할 수 없고 파일 이름만 모니터링할 수 있습니다.
다른 어떤 옵션이 있나요? 실시간 바이러스 백신 소프트웨어에서 사용하는 것과 비슷한 것이 필요하다고 생각합니다.
PS btrfs를 사용하고 리프 블록 체크섬에 의존할 수 있습니다. 그러나 나는 좀 더 일반적인 해결책을 선호합니다.
답변1
Linux에서는 패키지를 설치하고 구성을 편집하여 이 inotify
메커니즘을 설정할 수 있습니다.incron
incron
/etc/incron.conf
system_table_dir=/etc/incron.d
user_table_dir=/var/spool/incron
allowed_users=/etc/incron.allow
denied_users=/etc/incron.deny
lockfile_dir=/var/run
logfile_name=incrond
editor=vi
그런 다음 다음에서 시계를 구성하십시오 /etc/incron.d/myscriptwatch
.
/path/to/dir IN_CLOSE_WRITE,IN_MOVED_TO /path/to/check_content_script.sh $@ $#
/path/to/check_content_script.sh
다음 단계는 파일이 어떻게 처리되고 있는지 확인하도록 설정하는 것입니다 .
CURRSUM=$(md5sum $@)
PREVSUM=$(cat /path/to/old_saved_sum)
if [ "$CURRSUM" = "$PREVSUM" ]
then
echo "file $@ is not altered" >> /tmp/watch_log
else
echo "file $@ is altered" >> /tmp/watch_log
fi
또한 다른 이벤트를 모니터링하여 파일이 변경되었는지 확인할 수도 있습니다.IN_CLOSE_WRITE,IN_ATTRIB,IN_MODIFY
man 5 incrontab
자세한 내용은 참조하십시오 .