Файлы отсутствуют, и я хочу знать, что с ними случилось

Как-то некоторые файлы отсутствуют в каталоге, и я хотел бы знать, что случилось с этими файлами. Кто переместил / удалил их? Как я могу расследовать?

Можем ли мы получить историю в каталоге?

Это обычные пользовательские файлы в AIX 6.1; Я не знаю, какая файловая система используется.

В качестве подхода грубой силы, предполагая, что у вас есть доступ ко всем пользовательским каталогам и что все пользователи используют bash в качестве своей оболочки по умолчанию, вы можете выполнять поиск в своих файлах истории:

grep 'deletedfilename' /home/*/.bash_history 

Предполагая, что они были удалены достаточно недавно, чтобы команда все еще сохранялась в истории оболочки пользователя, это покажет вам, кто удалил файлы. Вы также можете расширить это, чтобы искать эквивалентные файлы других оболочек. Например:

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

Если возможно, они были перемещены, попробуйте найти их с locate – они найдут их, если они были перемещены некоторое время назад, до последнего запуска updatedb (обычно daiy):

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

или используя короткие варианты:

locate -eb 'foo.txt'

Если это не находит их, вы можете использовать команду find .

Угадайте, где это может быть, чтобы выбрать directrory для поиска рекурсивно, прежде чем использовать find в больших деревьях каталога.

Позаботьтесь о удаленных файловых системах – например, перед запуском find /home -name foo.txt , проверьте, может ли он find /home -name foo.txt все домашние каталоги – возможно, тысячи , и хотите ли вы этого.

В дополнение к поисковым запросам, предлагаемым terdon, вы также можете выполнить поиск по имени папки.

Поэтому, если кто-то удалил (или переместил) файлы с помощью подстановочного знака, вы не можете найти ни одного из ваших имен файлов, указанных в любом файле истории.

Например, если кто-то сделал:

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

Вы не нашли бы ни одного из ваших имен файлов в своей истории, но вы найдете mydir .

Итак, попробуйте также:

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

Кроме того: я не знаю, возможно ли это, но, возможно, это произошло в результате некоторой автоматической очистки после превышения дисковой квоты. Это была бы довольно жестокая политика, но я полагаю, что это возможно, и, возможно, стоит исследовать ее.