![수동 수정을 위해 bash_history 파일을 모니터링하는 방법은 무엇입니까?](https://linux55.com/image/88027/%EC%88%98%EB%8F%99%20%EC%88%98%EC%A0%95%EC%9D%84%20%EC%9C%84%ED%95%B4%20bash_history%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
사용자를 모니터링하는 데몬을 만들려고 합니다.bash_history수동으로 수정된 파일의 경우. 즉, 사용자가 파일을 열어서 수정하면 보안 조치를 취하기 위해 데몬에게 이 작업을 알리지만, 기록 자체가 업데이트되는 동안에는 아무 일도 일어나지 않습니다.
내가 시도한 해결책은inotify기다려:
while true; do
inotifywait -e close_write,move,delete ~/.bash_history && notify
done
어디통지하다특정 알림 프로세스를 수행하는 스크립트입니다.
나는 이것이 대부분의 파일에서 잘 작동할 것이라고 생각하지만, 이 경우에는 그렇지 않습니다.통지하다기록이 업데이트될 때마다 실행됩니다.
이거 괜찮은가요 아니면 다른 앱을 사용해야 하나요?
답변1
그것은 불가능합니다 inotify
. 사용자나 프로세스에 의해 파일이 변경되었는지 감지하는 구성이 없으며 "파일에 추가"만 모니터링하는 구성도 없습니다.
그리고있다고 해도"파일에 추가" inotify 이벤트를 통해 사용자는 bash_history
잘못된 항목을 생성하여 데이터를 주입 할 수 있으며 echo >>
이로 인해 모니터링의 모든 의미가 상실됩니다.
아래 제안 사항에 따라 기록 파일을 강화할 수 있으며, 이것이 최선의 방법이라고 생각합니다.