파일이 누락되었으며 해당 파일에 무슨 일이 일어났는지 알고 싶습니다.

파일이 누락되었으며 해당 파일에 무슨 일이 일어났는지 알고 싶습니다.

어떻게든 디렉토리에서 일부 파일이 누락되었는데 이 파일에 무슨 일이 일어났는지 알고 싶습니다. 누가 이동/삭제했나요? 어떻게 조사하나요?

디렉토리의 기록을 얻을 수 있나요?

이것은 AIX 6.1의 일반 사용자 파일입니다. 어떤 파일 시스템이 사용되고 있는지 전혀 모릅니다.

답변1

무차별 접근 방식으로 모든 사용자 디렉터리에 대한 액세스 권한이 있고 모든 사용자가 bash를 기본 셸로 사용한다고 가정하면 해당 기록 파일을 검색할 수 있습니다.

grep 'deletedfilename' /home/*/.bash_history

최근에 삭제되었다고 가정하면 명령은 사용자의 셸 기록에 계속 저장되어 파일을 삭제한 사람이 누구인지 알 수 있습니다. 또한 이를 확장하여 다른 쉘에 해당하는 파일을 검색할 수도 있습니다. 예를 들어:

grep 'deletedfilename' /home/*/.bash_history /home/*/.zsh_history 

답변2

이동되었을 수 있는 경우 다음을 통해 찾아보십시오 locate. 얼마 전에 이동된 경우 마지막 실행 updatedb(보통 매일) 전에 검색됩니다.

locate --existing --basename 'foo.txt'

또는 짧은 옵션을 사용하십시오.

locate -eb 'foo.txt'


찾을 수 없으면 이 find명령을 사용할 수 있습니다.

find더 큰 디렉터리 트리에서 디렉터리를 사용하기 전에 재귀적으로 검색할 디렉터리를 선택할 수 있는 위치를 추측해 보세요.

점에 유의하시기 바랍니다원격 파일 시스템- 예를 들어 실행하기 전에 find /home -name foo.txt가능한지 확인하십시오.자동 마운트모든 홈 디렉토리 -아마도 수천, 그리고 당신이 이것을 원하는지.

답변3

terdon에서 추천하는 검색 외에 폴더명으로도 검색이 가능합니다.

따라서 누군가가 와일드카드를 사용하여 파일을 삭제(또는 이동)하면 기록 파일에서 지정된 파일 이름을 찾을 수 없습니다.

예를 들어, 누군가 이렇게 하면:

$ cd /home/mydir
$ rm *
    Or
$ cd somewhere-else
$ mv /home/mydir/* .

기록에서 파일 이름을 찾을 수는 없지만 찾을 수 있습니다.mydir.

그러니 이것도 시도해 보세요:

grep 'mydir' /home/*/.bash_history /home/*/.zsh_history 


반품:이것이 가능한지는 모르겠지만 디스크 할당량을 초과한 후 일부 자동 정리로 인해 이런 일이 발생할 수 있습니다. 이것은 매우 잔인한 정책이겠지만, 나는 그것이 가능하고 아마도 살펴볼 가치가 있다고 생각합니다.

관련 정보