수동 수정을 위해 bash_history 파일을 모니터링하는 방법은 무엇입니까?

수동 수정을 위해 bash_history 파일을 모니터링하는 방법은 무엇입니까?

사용자를 모니터링하는 데몬을 만들려고 합니다.bash_history수동으로 수정된 파일의 경우. 즉, 사용자가 파일을 열어서 수정하면 보안 조치를 취하기 위해 데몬에게 이 작업을 알리지만, 기록 자체가 업데이트되는 동안에는 아무 일도 일어나지 않습니다.

내가 시도한 해결책은inotify기다려:

while true; do
    inotifywait -e close_write,move,delete ~/.bash_history && notify
done

어디통지하다특정 알림 프로세스를 수행하는 스크립트입니다.

나는 이것이 대부분의 파일에서 잘 작동할 것이라고 생각하지만, 이 경우에는 그렇지 않습니다.통지하다기록이 업데이트될 때마다 실행됩니다.

이거 괜찮은가요 아니면 다른 앱을 사용해야 하나요?

답변1

그것은 불가능합니다 inotify. 사용자나 프로세스에 의해 파일이 변경되었는지 감지하는 구성이 없으며 "파일에 추가"만 모니터링하는 구성도 없습니다.

그리고있다고 해도"파일에 추가" inotify 이벤트를 통해 사용자는 bash_history잘못된 항목을 생성하여 데이터를 주입 할 수 있으며 echo >>이로 인해 모니터링의 모든 의미가 상실됩니다.

아래 제안 사항에 따라 기록 파일을 강화할 수 있으며, 이것이 최선의 방법이라고 생각합니다.

관련 정보