Я хочу посмотреть, какие файлы читаются или записываются.
Есть ли какая-либо программа или команда для этого? Я помню, я использовал этот метод для поиска вирусов и скрытых вредоносных программ, когда я использовал Windows несколько лет назад.
Та программа 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 очень полезен.
В качестве полной опции 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» может помочь снизить уровень шума в действительно загруженной системе.