|
2.11, WE (?), 09:21, 23/08/2025 [^] [^^] [^^^] [ответить]
| –7 +/– |
А ты не путай корпоративные ПО с опенсорщеной.
| |
2.13, нах. (?), 09:23, 23/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
ну и кто мне понасоздавал вот это вот
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.56, Аноним (56), 13:36, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Так ведь он в любой ФС известен. Но только вот какие именно он процессы использовал для создания файлов - неизвестно.
| |
|
|
2.7, A.Stahl (ok), 09:04, 23/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Атрибуты чего? БД хранит лишь кортежи имя файла/имя процесса.
| |
|
3.8, Аноним (8), 09:12, 23/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Атрибуты ФС. Это ясно из контекста, да и термин однозначный.
| |
|
4.17, A.Stahl (ok), 09:32, 23/08/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Атрибуты ФС.
И какое отношение этот демон может иметь к атрибутам ФС? Вырази свою мысль полнее, я тебя не понимаю.
| |
|
5.21, Аноним (8), 09:50, 23/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Атрибуты ФС.
> И какое отношение этот демон может иметь к атрибутам ФС? Вырази свою
> мысль полнее, я тебя не понимаю.
Попробуй подумать. Ну вот записывается информация в базу данных, чтобы потом периодически её удалять, когда файл исчезнет. Хотя достаточно записать, кто создал, прямо в атрибуты файла (которые кривой файловый менеджер обнулит, но это уже не по адресу). Можно даже без доступа пользователя на изменение, типа метки selinux.
| |
|
6.25, A.Stahl (ok), 09:55, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
И на каких ФС это работает? Вот я действительно ничего про это не знаю. Кинь ссылкой где всё это разжёвано.
| |
|
|
|
9.34, Аноним (8), 10:30, 23/08/2025 [^] [^^] [^^^] [ответить] | +2 +/– | О да, меня вот расстраивает, что записанные в атрибуты хэши с информацией об ист... текст свёрнут, показать | |
|
|
|
6.49, Аноним (60), 12:37, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Хотя достаточно записать, кто создал, прямо в атрибуты файла
так файл с таким же именем может создать кто-либо другой (владелец, процесс). Цель утилиты трекать историю создания файлов и т.д. Вопрос толька накуя, когда есть аудит лог?
| |
|
7.54, Аноним (8), 13:00, 23/08/2025 [^] [^^] [^^^] [ответить] | –1 +/– | Я думал, установить, кто создал в последний раз Там не очень надёжно логирует, ... большой текст свёрнут, показать | |
|
8.59, Аноним (60), 14:04, 23/08/2025 [^] [^^] [^^^] [ответить] | +/– | так атрибуты можно редактировать заменить current process , чтобы ввести в забл... текст свёрнут, показать | |
|
9.67, Аноним (8), 14:31, 23/08/2025 [^] [^^] [^^^] [ответить] | +/– | Не могу понять, почему это проблема На практике подобного не будет никогда А т... текст свёрнут, показать | |
|
|
|
|
|
|
|
2.52, Мемоним (?), 12:53, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Аналитику считать сложнее. И, теоретически, эта информация может понадобиться и после удаления файла. По хорошему нужна поддержка обеих мест хранения.
| |
2.64, Аноним (64), 14:29, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> А расширенные атрибуты, значит, нафиг?
А если они не поддерживаются фс либо отключены?
| |
|
|
|
3.42, u235 (ok), 11:21, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
>чувак зачем-то вместо объектных файлов архивы линкует
Меня удивили файлы README.md и CHANGELOG.md в add_executable(). И непонятно откуда берется цель sqlite3 в target_link_libraries().
| |
|
4.63, 12yoexpert (ok), 14:29, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Меня удивили файлы README.md и CHANGELOG.md в add_executable()
думаю, это для того, чтобы они в дереве проекта в IDE отображались
| |
|
3.47, Аноним (47), 12:15, 23/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Объектные файлы лучше не линковать - гимора не оберёшься, add_library(... OBJECT ...) - это очень хрупкаяя вещь, напр. от C++ модулей она разваливается.
| |
|
|
5.68, Аноним (68), 15:25, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
В clang вся базовая функциональность работает и время компиляции сокращает. Не полностью, но работает. import std не работает, и в cmake под специальным вредительской переменной "пропишите "лицензионный ключ", который мы специально периодически меняем, чтобы вы эту фичу даже и не думали всерьёз заюзать". import <...>; не работает совсем.
| |
|
|
|
|
1.12, RM (ok), 09:22, 23/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
название subj и заголовок статьи крайне неудачны, видно из комментов.
народ просто не понимает (не удивительно), что отслеживается не пользователь, создавший файл, а процесс.
whatcreated а не whomade было бы лучше, как вариант.
ну и в заголовоке заменить "кто" на "программу"
| |
|
2.20, Аноним (-), 09:40, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> в заголовоке заменить "кто" на "программу"
Или на "что". Этого будет достаточно, но я согласен очень полезно, потому что с толку сбивает.
| |
|
1.18, freehck (ok), 09:33, 23/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
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"
| |
|
2.19, A.Stahl (ok), 09:39, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> такой процесс уже есть, и он называется auditd.
Это хорошо, но теперь прикрути туда БД и какой-то механизм для настройки всего этого.
То, что за гаражом валяются какие-то колёса и ты знаешь где купить хороший японский двигатель не означает что у тебя есть машина.
| |
|
3.22, freehck (ok), 09:50, 23/08/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Это хорошо, но теперь прикрути туда БД
А зачем нужна БД, если всю необходимую информацию можно получить через ausearch.
> механизм для настройки всего этого
Так auditctl же.
| |
|
|
1.24, Аноним (24), 09:54, 23/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>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 наконец.
| |
|
2.26, A.Stahl (ok), 10:01, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Это обычные плейсхолдеры, чтобы пользователь сразу понял что туда вводить. Их можно менять. Их нужно менять.
>эту библиотеку для парсинга опций командной строки
Она работает. Никаких нареканий у меня нет. Чем твои варианты лучше?
>инлайнить либы в репозиторий - это очень некрасиво.
Для мелких некритичных либ -- самое оно.
| |
|
3.29, Аноним (24), 10:05, 23/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Это вам локальная модель так навайбкодила? Потому что ни один программист так не напишет в продакшн-коде.
| |
3.31, Аноним (24), 10:09, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
>Она работает. Никаких нареканий у меня нет. Чем твои варианты лучше?
Вы забыли (или никогда не знали) пословицу всех технооптимистов/материалистов/редукционистов/программистов: "you are only as good as your tools". "Меня устраивает" - не оправдание, а дешёвая отмазка, не выдерживающая никакой критики. "Не хватает денег" - уже более сильное оправдание, но оно не очень применимо к библиотеке для парсинга командной строки.
| |
|
4.45, Фрол (?), 11:57, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> "Меня устраивает" - не оправдание, а основной принцип UNIX, начиная с первой же версии.
// очевидный фикс
| |
|
5.46, Аноним (47), 12:11, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
UNIX была коммерческой ОС. Коммерсы с принципом "меня всё устраивает" с рынка вылетели бы ... а всякие QNX, AIX и прочие и поныне продаются за бабло вме6сто того чтобы "нас всё устраивает, а вы - валите на линукс или винду".
| |
|
|
|
2.28, Аноним (8), 10:04, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Твоя правда. У меня есть похожая шляпа на питоне, но там код получше и функциональность побогаче (раз в 100). А вся работа по написанию заняла те же полчаса. Есть ещё индексатор для поиска: изначально идея была fuzzy search для похожих имён, но в конечном итоге достаточно перестановок и замен/удаления символов. Без индекса перебор часы, с индексом 10 секунд, меня устраивает.
| |
|
|
4.37, Аноним (8), 10:40, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Да не, там простая сериализация в messagepack и cжатие, всё равно перебирать всё для поиска. Индексы просто раздельные немного, чтобы сразу десятки гигабайт памяти не кушать. Это тот случай, когда временное наколенное решение работает достаточно хорошо даже после стократного увеличения объёмов.
| |
|
|
|
1.27, Аноним (24), 10:01, 23/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>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?
| |
|
2.43, u235 (ok), 11:33, 23/08/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Типа "критикуя, предлагай" и никак иначе? Я помню этим нашу оппозицию, пока она ещё была, постоянно попрекали. Нет, я не прислал пулл-реквестов и не пришлю. Я высказал свое мнение, автор может принять его к сведению или проигнорировать и это нормально.
| |
|
1.48, Аноним (48), 12:24, 23/08/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Если настоящей целью является очистка хомяка от всякого хлама, то я выбрал принципиально другой подход: весь рут ("/") монтируется в tmpfs; хомяк тоже в tmpfs; избранные папки бинд-маунтятся в долгосрочное хранилище. Таким образом после рестарта системы я получаю чуть ли не свежеустановленную ось, при этом только некоторые папки переживают перезагрузку (например ~/.config/chromium). И никакой аудит не задействуется. Пусть там хоть тысячи прог понасоздадут свой мусор в хомяке -- после перезагрузки мусор исчезнет, а папки из белого списка останутся. В интернете этот подход гуглится по словам impermanence nix.
| |
|
|
3.53, пох. (?), 12:59, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
да можно просто комп не включать - никто не нагадит в хомяк!
| |
|
|
|
2.57, Аноним (47), 13:57, 23/08/2025 [^] [^^] [^^^] [ответить] | +/– | Нет, не будет 1 Во-первых libmbdx - это продукт человека, последовательно озву... большой текст свёрнут, показать | |
|
3.58, Аноним (47), 14:00, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
Забыл добавить: в моей реализации чего-то подобного всё ещё lzma2-компрессией накрывалось.
| |
3.62, Аноним (60), 14:08, 23/08/2025 [^] [^^] [^^^] [ответить]
| +/– |
> 1. Во-первых libmbdx - это продукт человека
так он по заказу "товарищмайора" делал :)
| |
|
|
|