Как контролировать, какие файлы открыты

Есть ли инструмент для мониторинга того, какие процессы открывают какие файлы в системе, чтобы вы могли отслеживать, какой процесс продолжает касаться определенного файла?

Lsof может узнать, запускаете ли вы его, пока процесс имеет файл открыт, но если это непродолжительный процесс, который выполняется каждый раз в то время, вы не можете его поймать lsof. Нужно что-то, что использует трассировку ядра.

9
задан 8 April 2011 в 23:44

18 ответов

Вы могли бы использовать систему аудита для этого. Это немного тяжеловес, но что-то вроде этого должно работать (в /etc/audit/audit.rules):

# delete all other rules
-D

# watch the file in question
-w /path/to/file -p rwxa

, а затем, я думаю, вам нужно перезапустить auditd:

sudo service audit restart

(Если у вас его нет, он находится в пакете auditd.) В этом случае виновник может быть найден в /var/log/audit/audit.log.

7
ответ дан 25 May 2018 в 22:12

Вы могли бы использовать систему аудита для этого. Это немного тяжеловес, но что-то вроде этого должно работать (в /etc/audit/audit.rules):

# delete all other rules -D # watch the file in question -w /path/to/file -p rwxa

, а затем, я думаю, вам нужно перезапустить auditd:

sudo service audit restart

(Если у вас его нет, он находится в пакете auditd.) В этом случае виновник может быть найден в /var/log/audit/audit.log.

7
ответ дан 25 July 2018 в 22:15

Вы могли бы использовать систему аудита для этого. Это немного тяжеловес, но что-то вроде этого должно работать (в /etc/audit/audit.rules):

# delete all other rules -D # watch the file in question -w /path/to/file -p rwxa

, а затем, я думаю, вам нужно перезапустить auditd:

sudo service audit restart

(Если у вас его нет, он находится в пакете auditd.) В этом случае виновник может быть найден в /var/log/audit/audit.log.

7
ответ дан 26 July 2018 в 19:59

Вы могли бы использовать систему аудита для этого. Это немного тяжеловес, но что-то вроде этого должно работать (в /etc/audit/audit.rules):

# delete all other rules -D # watch the file in question -w /path/to/file -p rwxa

, а затем, я думаю, вам нужно перезапустить auditd:

sudo service audit restart

(Если у вас его нет, он находится в пакете auditd.) В этом случае виновник может быть найден в /var/log/audit/audit.log.

7
ответ дан 2 August 2018 в 03:43

Вы могли бы использовать систему аудита для этого. Это немного тяжеловес, но что-то вроде этого должно работать (в /etc/audit/audit.rules):

# delete all other rules -D # watch the file in question -w /path/to/file -p rwxa

, а затем, я думаю, вам нужно перезапустить auditd:

sudo service audit restart

(Если у вас его нет, он находится в пакете auditd.) В этом случае виновник может быть найден в /var/log/audit/audit.log.

7
ответ дан 4 August 2018 в 19:46

Вы могли бы использовать систему аудита для этого. Это немного тяжеловес, но что-то вроде этого должно работать (в /etc/audit/audit.rules):

  # удалять все остальные правила -D # смотреть этот файл -w /  path / to / file -p rwxa  

, а затем, я думаю, вам нужно перезапустить auditd:

  sudo service audit restart  

(Если у вас его нет, он находится в пакете auditd.) В этом случае виновник можно найти в /var/log/audit/audit.log.

7
ответ дан 6 August 2018 в 03:50

Вы могли бы использовать систему аудита для этого. Это немного тяжеловес, но что-то вроде этого должно работать (в /etc/audit/audit.rules):

  # удалять все остальные правила -D # смотреть этот файл -w /  path / to / file -p rwxa  

, а затем, я думаю, вам нужно перезапустить auditd:

  sudo service audit restart  

(Если у вас его нет, он находится в пакете auditd.) В этом случае виновник можно найти в /var/log/audit/audit.log.

7
ответ дан 7 August 2018 в 21:46

Вы могли бы использовать систему аудита для этого. Это немного тяжеловес, но что-то вроде этого должно работать (в /etc/audit/audit.rules):

  # удалять все остальные правила -D # смотреть этот файл -w /  path / to / file -p rwxa  

, а затем, я думаю, вам нужно перезапустить auditd:

  sudo service audit restart  

(Если у вас его нет, он находится в пакете auditd.) В этом случае виновник можно найти в /var/log/audit/audit.log.

7
ответ дан 10 August 2018 в 10:00

Вы могли бы использовать систему аудита для этого. Это немного тяжеловес, но что-то вроде этого должно работать (в /etc/audit/audit.rules):

  # удалять все остальные правила -D # смотреть этот файл -w /  path / to / file -p rwxa  

, а затем, я думаю, вам нужно перезапустить auditd:

  sudo service audit restart  

(Если у вас его нет, он находится в пакете auditd.) В этом случае виновник можно найти в /var/log/audit/audit.log.

7
ответ дан 13 August 2018 в 16:19

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

ve попытался использовать что-то вроде этого:

sudo inotifywait -mr somedir --format "%w%f" | while read file; do echo -n "$file => ";lsof -b $file; echo ""; done

Слушает, чтобы инициализировать события в указанном каталоге и для каждого запускаемого события lsof, чтобы попытаться поймать процесс, затрагивающий файл. К сожалению, для большинства запросов, которые я тестировал (например, используя редактор для записи в файл), команда LSOF просто замедляется и не удается поймать процесс нарушения.

Если ваши процессы делают еще несколько интенсивный ввод-вывод в проблемных файлах, то ваш пробег может отличаться. Удачи.

0
ответ дан 25 May 2018 в 22:12

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

ve попытался использовать что-то вроде этого:

sudo inotifywait -mr somedir --format "%w%f" | while read file; do echo -n "$file => ";lsof -b $file; echo ""; done

Слушает, чтобы инициализировать события в указанном каталоге и для каждого запускаемого события lsof, чтобы попытаться поймать процесс, затрагивающий файл. К сожалению, для большинства запросов, которые я тестировал (например, используя редактор для записи в файл), команда LSOF просто замедляется и не удается поймать процесс нарушения.

Если ваши процессы делают еще несколько интенсивный ввод-вывод в проблемных файлах, то ваш пробег может отличаться. Удачи.

0
ответ дан 25 July 2018 в 22:15

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

ve попытался использовать что-то вроде этого:

sudo inotifywait -mr somedir --format "%w%f" | while read file; do echo -n "$file => ";lsof -b $file; echo ""; done

Слушает, чтобы инициализировать события в указанном каталоге и для каждого запускаемого события lsof, чтобы попытаться поймать процесс, затрагивающий файл. К сожалению, для большинства запросов, которые я тестировал (например, используя редактор для записи в файл), команда LSOF просто замедляется и не удается поймать процесс нарушения.

Если ваши процессы делают еще несколько интенсивный ввод-вывод в проблемных файлах, то ваш пробег может отличаться. Удачи.

0
ответ дан 26 July 2018 в 19:59

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

ve попытался использовать что-то вроде этого:

sudo inotifywait -mr somedir --format "%w%f" | while read file; do echo -n "$file => ";lsof -b $file; echo ""; done

Слушает, чтобы инициализировать события в указанном каталоге и для каждого запускаемого события lsof, чтобы попытаться поймать процесс, затрагивающий файл. К сожалению, для большинства запросов, которые я тестировал (например, используя редактор для записи в файл), команда LSOF просто замедляется и не удается поймать процесс нарушения.

Если ваши процессы делают еще несколько интенсивный ввод-вывод в проблемных файлах, то ваш пробег может отличаться. Удачи.

0
ответ дан 2 August 2018 в 03:43

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

ve попытался использовать что-то вроде этого:

sudo inotifywait -mr somedir --format "%w%f" | while read file; do echo -n "$file => ";lsof -b $file; echo ""; done

Слушает, чтобы инициализировать события в указанном каталоге и для каждого запускаемого события lsof, чтобы попытаться поймать процесс, затрагивающий файл. К сожалению, для большинства запросов, которые я тестировал (например, используя редактор для записи в файл), команда LSOF просто замедляется и не удается поймать процесс нарушения.

Если ваши процессы делают еще несколько интенсивный ввод-вывод в проблемных файлах, то ваш пробег может отличаться. Удачи.

0
ответ дан 4 August 2018 в 19:46

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

вы пытались использовать что-то вроде этого:

  sudo inotifywait -mr somedir --format "% w% f" |  при чтении файла;  do echo -n "$ file = & gt;"; lsof -b $ file;  эхо "";  done  

Слушает для инициализации событий в указанном каталоге и для каждого выполняемого события lsof, чтобы попытаться поймать процесс, затрагивающий файл. К сожалению, для большинства запросов, которые я тестировал (например, с помощью редактора для записи в файл), команда LSOF просто замедляется и не удается поймать процесс нарушения.

Если ваши процессы делают еще несколько интенсивный ввод-вывод в проблемных файлах, то ваш пробег может отличаться. Удачи.

0
ответ дан 6 August 2018 в 03:50

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

вы пытались использовать что-то вроде этого:

  sudo inotifywait -mr somedir --format "% w% f" |  при чтении файла;  do echo -n "$ file = & gt;"; lsof -b $ file;  эхо "";  done  

Слушает для инициализации событий в указанном каталоге и для каждого выполняемого события lsof, чтобы попытаться поймать процесс, затрагивающий файл. К сожалению, для большинства запросов, которые я тестировал (например, с помощью редактора для записи в файл), команда LSOF просто замедляется и не удается поймать процесс нарушения.

Если ваши процессы делают еще несколько интенсивный ввод-вывод в проблемных файлах, то ваш пробег может отличаться. Удачи.

0
ответ дан 7 August 2018 в 21:46

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

вы пытались использовать что-то вроде этого:

  sudo inotifywait -mr somedir --format "% w% f" |  при чтении файла;  do echo -n "$ file = & gt;"; lsof -b $ file;  эхо "";  done  

Слушает для инициализации событий в указанном каталоге и для каждого выполняемого события lsof, чтобы попытаться поймать процесс, затрагивающий файл. К сожалению, для большинства запросов, которые я тестировал (например, с помощью редактора для записи в файл), команда LSOF просто замедляется и не удается поймать процесс нарушения.

Если ваши процессы делают еще несколько интенсивный ввод-вывод в проблемных файлах, то ваш пробег может отличаться. Удачи.

0
ответ дан 10 August 2018 в 10:00

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

вы пытались использовать что-то вроде этого:

  sudo inotifywait -mr somedir --format "% w% f" |  при чтении файла;  do echo -n "$ file = & gt;"; lsof -b $ file;  эхо "";  done  

Слушает для инициализации событий в указанном каталоге и для каждого выполняемого события lsof, чтобы попытаться поймать процесс, затрагивающий файл. К сожалению, для большинства запросов, которые я тестировал (например, с помощью редактора для записи в файл), команда LSOF просто замедляется и не удается поймать процесс нарушения.

Если ваши процессы делают еще несколько интенсивный ввод-вывод в проблемных файлах, то ваш пробег может отличаться. Удачи.

0
ответ дан 13 August 2018 в 16:19

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

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