The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"whomade - процесс, запоминающий кто создал файлы в отслеживаемых каталогах"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"whomade - процесс, запоминающий кто создал файлы в отслеживаемых каталогах"  +/
Сообщение от opennews (??), 23-Авг-25, 07:55 
Для определения приложений, создающих расходующие дисковое пространство файлы в домашнем каталоге пользователя, подготовлен фоновый процесс whomade, отслеживающий появление новых файлов при помощи механизма fanotify. Проект написан на языке С++ и распространяется под лицензией  GPLv3...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63761

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


2. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  –1 +/
Сообщение от User (??), 23-Авг-25, 08:06 
Так ведь в ntfs создатель и без помощи демонов известен.
Ответить | Правка | Наверх | Cообщить модератору

11. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  –3 +/
Сообщение от WE (?), 23-Авг-25, 09:21 
А ты не путай корпоративные ПО с опенсорщеной.
Ответить | Правка | Наверх | Cообщить модератору

13. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  –2 +/
Сообщение от нах. (?), 23-Авг-25, 09:23 
ну и кто мне понасоздавал вот это вот

11/08/2025  14:05           335,149 481a175f-cf20-4ad2-8548-d0d4eaa1ca5e.tmp
22/08/2025  22:36                 0 602a6864-4320-4e8c-a888-5c212a639d78.tmp
11/08/2025  14:05           292,514 bd22900a-d2de-47a1-9700-5bd3e078d27e.tmp

?
Можешь подсказать, а то их уже под три сотни там таких?

Поделка, как я понимаю, запоминает процесс (и не один лишь ненужно-pid)

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

3. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от Stanislavvv (?), 23-Авг-25, 08:18 
> Данные хранятся в БД SQLite3

А расширенные атрибуты, значит, нафиг?

Ответить | Правка | Наверх | Cообщить модератору

7. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +1 +/
Сообщение от A.Stahl (ok), 23-Авг-25, 09:04 
Атрибуты чего? БД хранит лишь кортежи имя файла/имя процесса.
Ответить | Правка | Наверх | Cообщить модератору

8. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  –2 +/
Сообщение от Аноним (8), 23-Авг-25, 09:12 
Атрибуты ФС. Это ясно из контекста, да и термин однозначный.
Ответить | Правка | Наверх | Cообщить модератору

17. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +1 +/
Сообщение от A.Stahl (ok), 23-Авг-25, 09:32 
> Атрибуты ФС.

И какое отношение этот демон может иметь к атрибутам ФС? Вырази свою мысль полнее, я тебя не понимаю.

Ответить | Правка | Наверх | Cообщить модератору

21. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +1 +/
Сообщение от Аноним (8), 23-Авг-25, 09:50 
>> Атрибуты ФС.
> И какое отношение этот демон может иметь к атрибутам ФС? Вырази свою
> мысль полнее, я тебя не понимаю.

Попробуй подумать. Ну вот записывается информация в базу данных, чтобы потом периодически её удалять, когда файл исчезнет. Хотя достаточно записать, кто создал, прямо в атрибуты файла (которые кривой файловый менеджер обнулит, но это уже не по адресу). Можно даже без доступа пользователя на изменение, типа метки selinux.

Ответить | Правка | Наверх | Cообщить модератору

25. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от A.Stahl (ok), 23-Авг-25, 09:55 
И на каких ФС это работает? Вот я действительно ничего про это не знаю. Кинь ссылкой где всё это разжёвано.
Ответить | Правка | Наверх | Cообщить модератору

30. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +1 +/
Сообщение от Аноним (8), 23-Авг-25, 10:08 
Ммм на всех? Сложно сказать. https://en.wikipedia.org/wiki/Extended_file_attributes
Ответить | Правка | Наверх | Cообщить модератору

33. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от A.Stahl (ok), 23-Авг-25, 10:12 
Забавно. Я не сталкивался. Гляну потом повнимательней. Это может упростить мне жизнь, на самом деле, если действительно работает.
Ответить | Правка | Наверх | Cообщить модератору

34. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +2 +/
Сообщение от Аноним (8), 23-Авг-25, 10:30 
О да, меня вот расстраивает, что записанные в атрибуты хэши с информацией об источнике файла файловые менеджеры не показывают из коробки. Но и знаю, что они там есть, и открываю окошко из контекстного меню, когда надо. Можно много чего интересного сделать на самом деле, только отсутствие поддержки в ФМ удручает. Ни xdg, ни dublincore нет.
Ответить | Правка | Наверх | Cообщить модератору

38. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от A.Stahl (ok), 23-Авг-25, 10:51 
Хм. А ведь работает. Спасибо, аноним, за наводку. Это позволит мне вообще выкинуть БД со всеми БД-шными проблемами. И отдельный поток для периодической очистки БД тоже. Одни плюсы.
Ответить | Правка | Наверх | Cообщить модератору

41. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от Аноним (8), 23-Авг-25, 11:04 
Ну нормально это через eBPF делается, может, ещё чего придумаешь улучшить.
Ответить | Правка | Наверх | Cообщить модератору

44. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от eugener (ok), 23-Авг-25, 11:39 
> Забавно. Я не сталкивался

Во времена OS/2 даже журнал бумажный издавался, "Extended Attributes". В полуоси это дело активно использовалось графической оболочкой, например, можно было назначать свои иконки любым файлам, ну и прочую доп.инфу. И всё это хранилось в EA.
Хотя линь и винда поддерживают EA — DE их почти не использует, видимо из-за современных тенденций к упрощению.

Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

6. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  –3 +/
Сообщение от Аноним (6), 23-Авг-25, 08:29 
Отличная замена ls -la, да ещё и с гуй. Всегда искал!
Ответить | Правка | Наверх | Cообщить модератору

9. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от Аноним (8), 23-Авг-25, 09:14 
Ну это вряд ли.
Ответить | Правка | Наверх | Cообщить модератору

10. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +1 +/
Сообщение от u235 (ok), 23-Авг-25, 09:18 
Заглянул в CMakeLists.txt и собирать это как-то расхотелось.
Ответить | Правка | Наверх | Cообщить модератору

40. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от 12yoexpert (ok), 23-Авг-25, 11:01 
чувак зачем-то вместо объектных файлов архивы линкует
чувствуется колхоз
Ответить | Правка | Наверх | Cообщить модератору

42. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от u235 (ok), 23-Авг-25, 11:21 
>чувак зачем-то вместо объектных файлов архивы линкует

Меня удивили файлы README.md и CHANGELOG.md в add_executable(). И непонятно откуда берется цель sqlite3 в target_link_libraries().

Ответить | Правка | Наверх | Cообщить модератору

12. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от RM (ok), 23-Авг-25, 09:22 
название subj и заголовок статьи крайне неудачны, видно из комментов.
народ просто не понимает (не удивительно), что отслеживается не пользователь, создавший файл, а процесс.
whatcreated а не whomade было бы лучше, как вариант.
ну и в заголовоке заменить "кто" на "программу"
Ответить | Правка | Наверх | Cообщить модератору

20. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от Аноним (-), 23-Авг-25, 09:40 
> в заголовоке заменить "кто" на "программу"

Или на "что". Этого будет достаточно, но я согласен очень полезно, потому что с толку сбивает.

Ответить | Правка | Наверх | Cообщить модератору

18. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +1 +/
Сообщение от freehck (ok), 23-Авг-25, 09:33 
A.Stahl, ты конечно молодец, что почитал доки и сделал свою реализацию, но вообще-то, хоть мне и неловко сейчас тебе это говорить, однако такой процесс уже есть, и он называется auditd.

Минуточку внимания:


% apt-get install auditd
% auditctl -w /srv/watcher -p wa -k file-creation
% touch /srv/watcher/f1
% ausearch -k file-creation
time->Sat Aug 23 06:27:29 2025
type=PROCTITLE msg=audit(1755930449.930:203): proctitle=746F756368006631
type=PATH msg=audit(1755930449.930:203): item=1 name="f1" inode=106694349 dev=fc:00 mode=0100644 ouid=0 ogid=0 rdev=00:00 nametype=CREATE cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=PATH msg=audit(1755930449.930:203): item=0 name="/srv/watcher" inode=106700802 dev=fc:00 mode=040755 ouid=0 ogid=0 rdev=00:00 nametype=PARENT cap_fp=0 cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0
type=CWD msg=audit(1755930449.930:203): cwd="/srv/watcher"
type=SYSCALL msg=audit(1755930449.930:203): arch=c000003e syscall=257 success=yes exit=3 a0=ffffff9c a1=7ffef733c719 a2=941 a3=1b6 items=2 ppid=494441 pid=495433 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts12 ses=52246 comm="touch" exe="/usr/bin/touch" subj=unconfined key="file-creation"

Ответить | Правка | Наверх | Cообщить модератору

19. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от A.Stahl (ok), 23-Авг-25, 09:39 
> такой процесс уже есть, и он называется auditd.

Это хорошо, но теперь прикрути туда БД и какой-то механизм для настройки всего этого.

То, что за гаражом валяются какие-то колёса и ты знаешь где купить хороший японский двигатель не означает что у тебя есть машина.

Ответить | Правка | Наверх | Cообщить модератору

22. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +1 +/
Сообщение от freehck (ok), 23-Авг-25, 09:50 
> Это хорошо, но теперь прикрути туда БД

А зачем нужна БД, если всю необходимую информацию можно получить через ausearch.

> механизм для настройки всего этого

Так auditctl же.

Ответить | Правка | Наверх | Cообщить модератору

24. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от Аноним (24), 23-Авг-25, 09:54 
>addDir(DirAction::ADD, DirType::MONITOR, "/home/astahl/.config");
>addDir(DirAction::ADD, DirType::MONITOR, "/home/astahl/.cache");
>addDir(DirAction::ADD, DirType::IGNORE,  "/home/astahl/.cache/mozilla");

Зачем вы новость на опеннет написали, если программа сделана исключительно для вашего личного пользования. И выкиньте нахрен эту библиотеку для парсинга опций командной строки, она не поддерживается, малофункциональная и глючная. Есть гораздо лучшие альтернативы:

1. https://github.com/CLIUtils/CLI11
2. https://git.code.sf.net/p/tclap/code
3. https://github.com/bfgroup/Lyra
4. https://github.com/saveman/octargs

И инлайнить либы в репозиторий - это очень некрасиво. Освойте CMake наконец.

Ответить | Правка | Наверх | Cообщить модератору

26. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от A.Stahl (ok), 23-Авг-25, 10:01 
Это обычные плейсхолдеры, чтобы пользователь сразу понял что туда вводить. Их можно менять. Их нужно менять.

>эту библиотеку для парсинга опций командной строки

Она работает. Никаких нареканий у меня нет. Чем твои варианты лучше?

>инлайнить либы в репозиторий - это очень некрасиво.

Для мелких некритичных либ -- самое оно.

Ответить | Правка | Наверх | Cообщить модератору

29. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от Аноним (24), 23-Авг-25, 10:05 
Это вам локальная модель так навайбкодила? Потому что ни один программист так не напишет в продакшн-коде.
Ответить | Правка | Наверх | Cообщить модератору

31. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от Аноним (24), 23-Авг-25, 10:09 
>Она работает. Никаких нареканий у меня нет. Чем твои варианты лучше?

Вы забыли (или никогда не знали) пословицу всех технооптимистов/материалистов/редукционистов/программистов: "you are only as good as your tools". "Меня устраивает" - не оправдание, а дешёвая отмазка, не выдерживающая никакой критики. "Не хватает денег" - уже более сильное оправдание, но оно не очень применимо к библиотеке для парсинга командной строки.

Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

28. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от Аноним (8), 23-Авг-25, 10:04 
Твоя правда. У меня есть похожая шляпа на питоне, но там код получше и функциональность побогаче (раз в 100). А вся работа по написанию заняла те же полчаса. Есть ещё индексатор для поиска: изначально идея была fuzzy search для похожих имён, но в конечном итоге достаточно перестановок и замен/удаления символов. Без индекса перебор часы, с индексом 10 секунд, меня устраивает.
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

32. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от Аноним (24), 23-Авг-25, 10:10 
В индексе случаем не dafsa?
Ответить | Правка | Наверх | Cообщить модератору

37. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от Аноним (8), 23-Авг-25, 10:40 
Да не, там простая сериализация в messagepack и cжатие, всё равно перебирать всё для поиска. Индексы просто раздельные немного, чтобы сразу десятки гигабайт памяти не кушать. Это тот случай, когда временное наколенное решение работает достаточно хорошо даже после стократного увеличения объёмов.
Ответить | Правка | Наверх | Cообщить модератору

27. "whomade - процесс, запоминающий кто создал файлы в отслежива..."  +/
Сообщение от Аноним (24), 23-Авг-25, 10:01 
>query = std::format(R "SQL(INSERT INTO {0:}(dirname) SELECT '{1:}' WHERE NOT EXISTS(SELECT 1 FROM {0:}WHERE dirname = '{1:}')) SQL ", table_name, dir);

У вас случайно нет знакомого Little Bobby Tables?

Ответить | Правка | Наверх | Cообщить модератору

39. "whomade - процесс, запоминающий какие программы создают файл..."  –1 +/
Сообщение от Анонимчег (?), 23-Авг-25, 10:59 
Интересно, хоть кто-то из критикующих прислал пулл-реквест?
Ответить | Правка | Наверх | Cообщить модератору

43. "whomade - процесс, запоминающий какие программы создают файл..."  +/
Сообщение от u235 (ok), 23-Авг-25, 11:33 
Типа "критикуя, предлагай" и никак иначе? Я помню этим нашу оппозицию, пока она ещё была, постоянно попрекали. Нет, я не прислал пулл-реквестов и не пришлю. Я высказал свое мнение, автор может принять его к сведению или проигнорировать и это нормально.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру