Написание драйвера перехвата действий ФС
Модератор: Модераторы разделов
Написание драйвера перехвата действий ФС
Вопрос вот в чем - надо залогировать действия, которые будет производить gcc g++ в системе Gentoo над файлами - к какому когда обратился и на что - чтение-запись. Куда покопать, что почитать посоветуете? Я понял, что надо будет написать драйвер, в userspace этого не решить. Но это надо сделать любыми средствами.
- Nazyvaemykh
- Сообщения: 438
- Статус: Подопытный участник
Re: Написание драйвера перехвата действий ФС
Может быть, не надо драйвера, а просто strace? И смотреть открываемые файлы…
Потом, можно использовать inotify (man 7 inotify; вот еще для примера
Потом, можно использовать inotify (man 7 inotify; вот еще для примера
¡ Страсть к разрушению есть творческая страсть!
Re: Написание драйвера перехвата действий ФС
Nazyvaemykh писал(а): ↑03.03.2010 11:50Может быть, не надо драйвера, а просто strace? И смотреть открываемые файлы…
Потом, можно использовать inotify (man 7 inotify; вот еще для примера
спасибо за совет, я уже копаюсь с инотифай. Суть заключается в очистке исходных текстов(довольно большие, разрабатывавшиеся на многих машинах) - на Windows делается так - запускается Process Monitor, собираются все проекты, те файлы, которые открывались на запись или не открывались вообще - удаляются, проверяется, собирается ли проект без них. Так как strace очень тяжело запустить, когда параллельно работают несколько запущенных компиляторов, то он отпадает. Решение с inotify красивое, интересно, есть ли что еще?
- Nazyvaemykh
- Сообщения: 438
- Статус: Подопытный участник
Re: Написание драйвера перехвата действий ФС
Можно искать файлы, к которым не было доступа с помощью команды find с ключом -anewer
¡ Страсть к разрушению есть творческая страсть!
Re: Написание драйвера перехвата действий ФС
А разве Makefile не даёт ответ? С заголовочными файлами чуть сложнее.
Re: Написание драйвера перехвата действий ФС
не всегда имеется makefile, имеем дело с различными сборками различных разработчиков - не всегда все так просто. а как тогда искать файлы, которые открывались для записи, но записи в нех не было произведено?
- Stauffenberg
- Сообщения: 2042
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: Написание драйвера перехвата действий ФС
zvoice писал(а): ↑03.03.2010 11:10Вопрос вот в чем - надо залогировать действия, которые будет производить gcc g++ в системе Gentoo над файлами - к какому когда обратился и на что - чтение-запись. Куда покопать, что почитать посоветуете? Я понял, что надо будет написать драйвер, в userspace этого не решить. Но это надо сделать любыми средствами.
Если Вы уверены, что Вам надо именно это, то предлагаю взглянуть на интерфейс системного вызовова open().
Переписать его с учетом отслеживания вызывающей программы и того, какой файл она открывает... я думаю, проблем быть не должно.
Вопрос еще в том, уверены ли Вы, что Вам нужен именно модуль ядра?
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
- Nazyvaemykh
- Сообщения: 438
- Статус: Подопытный участник
Re: Написание драйвера перехвата действий ФС
Stauffenberg, нужно будет и на fcntl() посмотреть, да? ведь файл может быть первоначально открыть на чтение, а потом…
¡ Страсть к разрушению есть творческая страсть!