Найдите, какие файлы читаются или записываются

Я хочу посмотреть, какие файлы читаются или записываются.

Есть ли какая-либо программа или команда для этого? Я помню, я использовал этот метод для поиска вирусов и скрытых вредоносных программ, когда я использовал Windows несколько лет назад.

14
задан 13 February 2011 в 23:56

2 ответа

Та программа lsof ("Список открывает файлы").

  • Если Вы просто открываете Terminal и тип lsof, Вы получаете огромный список всех открытых файлов, вместо этого, ограничьте его одной командой путем выполнения:

    lsof -c gnome-terminal
    
  • Можно также ограничить поиск определенным каталогом путем ввода

    lsof -c gnome-terminal -a +D /tmp
    
  • Или перечислите все открытые файлы в одном определенном каталоге, включая то, какое приложение открыло его:

    lsof /dev/urandom
    

Помните, что некоторые процессы запускаются корнем суперпользователя, Вы, возможно, должны поместить sudo перед Вашей командой для получения большей информации об открытых файлах таких процессов.

Для сужения поиска Вы можете grep определенные строки, т.е.:

lsof /dev/urandom | grep chrome

  • FD Столбец (File Descriptor) вывода дает Вам информацию о цели программы, открывающей файл (не обязательно, что происходит с ним в данный момент):

    • r означает, что файл открыт для чтения

    • w означает, что файл открыт для записи

    • u означает, что файл открыт и для чтения и для записи


Для получения дополнительной информации консультируйтесь со страницей руководства (man lsof). Кроме того, если необходимо искать какой-либо из файлов и каталогов, Стандарт Иерархии Файловой системы Linux очень полезен.

15
ответ дан 13 February 2011 в 23:56

В качестве полной опции over-kill, но работающей в режиме реального времени, вы можете использовать inotify:

sudo inotifywait -m -r /

Обратите внимание, что это займет много памяти и займет много времени. установить. Как написано на man-странице:

   -r, --recursive
          Watch all subdirectories of any directories passed as arguments.
          Watches  will be set up recursively to an unlimited depth.  Sym‐
          bolic links are not  traversed.   Newly  created  subdirectories
          will also be watched.

          Warning:  If  you use this option while watching the root direc‐
          tory of a large tree, it may take quite a while until  all  ino‐
          tify watches are established, and events will not be received in
          this time.  Also, since one inotify watch  will  be  established
          per subdirectory, it is possible that the maximum amount of ino‐
          tify watches per user will be reached.  The default  maximum  is
          8192;  it  can  be  increased  by  writing  to /proc/sys/fs/ino‐
          tify/max_user_watches.

Это также не говорит вам о том, что происходит с файлами, но может помочь определить изменения по мере их возникновения. Использование «-e open» может помочь снизить уровень шума в действительно загруженной системе.

0
ответ дан 13 February 2011 в 23:56

Другие вопросы по тегам:

Похожие вопросы: