<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Linux Forum &mdash; Как отследить изменения в файлах]]></title>
		<link>https://linuxforum.ru/viewtopic.php?id=36954</link>
		<atom:link href="https://linuxforum.ru/extern.php?action=feed&amp;tid=36954&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Как отследить изменения в файлах».]]></description>
		<lastBuildDate>Mon, 08 Dec 2014 18:58:16 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=434806#p434806</link>
			<description><![CDATA[<div class="quotebox"><cite>mogul82 пишет:</cite><blockquote><p>Можно -e trace=open,close,read,write</p></blockquote></div><p>Можно. Но не нужно. А именно - события open и read очень сильно загадят журнал. Но их ты никак нарушителю преъявить не сможешь. Более того, если нарушитель имеет немного мозгов, то он размажет тебя за такую предъяву как последнего лоха и будет совершенно прав. <br />А именно - аудит чтения файлов имел смысл тогда, когда деревья были большими, а компьютеры еще больше.&nbsp; Сейчас-же производители программного обеспечения, графических файл-менеджеров, пошли настолько навстречу тупому юзеру, что предлагают насладиться ему видом миниатур содержимого файлов в каталоге в окне своих файл-менеджеров. Простой вопрос - эти миниатюры Дух Святой навевает? Или файл-менеджер незатейливо перебирает все файлы в каталоге, открывает их по очереди, считывает определенные (в зависимости от mime-типа файла) структуры и строит эти миниатюры. <br />И вот ситуация, ты, крутой такой весь из себя, засек, что кто-то прочитал файл. И начинаешь его прилюдно строить. А этот нехороший некто уличает тебя в незнании основ работы гуевых файл-менеджеров, говорит, что ничего он не читал из такого каталога, а только случайно его открыл. Чем и породил поток событий открытия-чтения файлов. И что, мол, ты сам, админ, - лох, так как если нельзя мне туда ходить, то почему есть у меня такая возможность?.. <br />Одним словом - предъява гнилая, судебной перспективы не имеющая. Так как вылавливать из потока обозревательных открытий открытие файла умышленное... Ну, не самая тривиальная задача. Надо события по временам разносить, исключать одиночные в блоке события (ФМ читает файл только один раз) и так далее... Сложно всё это.</p>]]></description>
			<author><![CDATA[null@example.com (Cruiser78)]]></author>
			<pubDate>Mon, 08 Dec 2014 18:58:16 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=434806#p434806</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=434801#p434801</link>
			<description><![CDATA[<p>Можно кстати через strace, трассировать обращения к файлам, определенного процесса по PID<br /><div class="termtitle" style="font-family: sans-serif; position:relative; height:auto; width:auto; background:#3A4061; color:#FFFFFF; padding: 1px;"><b> Консоль:</b></div>
<div class="termcont" style="font-family: Terminus; position:relative; height:auto; width:auto; overflow-x:scroll; white-space: nowrap ; overflow-y:auto;background:#000000; color:#4EF44E; line-height:1.2; padding: 3px; font-size: 1rem; max-height: 60vh">strace -e trace=open,read -p 5598 -o /media/sda9/text_file</div><br />Вывод в файл будет таким:<br /></p><div class="quotebox"><blockquote><p>read(71, &quot;m6 &#039;xwd:%s&#039;; test=test -n \&quot;$DISP&quot;..., 4096) = 513<br />read(71, &quot;&quot;, 4096)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 0<br />open(&quot;/home/mogul/.local/share/mime/application&quot;, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 73<br />open(&quot;/home/mogul/.local/share/mime/video&quot;, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 73<br />read(71, &quot;on/vnd.sun.xml.draw.template\t\t\t\t&quot;..., 4096) = 4096</p></blockquote></div><p>Можно -e trace=open,close,read,write</p>]]></description>
			<author><![CDATA[null@example.com (mogul82)]]></author>
			<pubDate>Mon, 08 Dec 2014 17:12:31 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=434801#p434801</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=434771#p434771</link>
			<description><![CDATA[<p><a href="http://habrahabr.ru/post/81889/">http://habrahabr.ru/post/81889/</a><br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p><strong>tripwire</strong></p><br /><p> Это уже инструмент посерьезней. Он хранит снимок текущей файловой системы (вплоть до используемых файлами инодов) и рапортует любые изменения (привет любителям автоапдейтов).<br /> Опять-таки:<br />apt-get install tripwire<br /> Задаем при установке отдельно пароль для генерации ключей и полиси, и второй пароль для базы данных.<br /> После установки правим файлы /etc/tripwire/twcfg.txt и /etc/tripwire/twpol.txt, делаем инициализацию БД:<br />tripwire --init<br /> и запускаем пробную проверку<br />tripwire --check<br /> На выходе получаете туеву хучу сообщений об отсутствующих файлах. В базовой поставке tripwire упоминаются все возможные варианты файлов, поэтому правите опять файл политик /etc/tripwire/twpol.txt и обновляете его:<br />tripwire --update-policy /etc/tripwire/twpol.txt<br /> Опять-таки, как и в предыдущем случае, проверяем, ходит ли к вам почта:<br />tripwire --test --email адрес<br /> и создаем в кроне задание с ключиком --email-report</p><p> Но не стоит расслабляться — если уж злоумышленник получит рутовые права на вашей тачке, то ему не составит труда просто переустановить tripwire со своими ключами, и вы будете все так же получать репорты в стиле «Все хорошо, прекрасная маркиза», пока в один прекрасный день не надумаете обновить конфиг или полиси и не получите сообщение о неверном пароле.</p></div></div>]]></description>
			<author><![CDATA[null@example.com (zakirovnadim)]]></author>
			<pubDate>Mon, 08 Dec 2014 09:35:17 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=434771#p434771</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=434767#p434767</link>
			<description><![CDATA[<div class="quotebox"><cite>mogul82 пишет:</cite><blockquote><p>Допустим есть директория с кучей поддиректорий и файлов, некое ПО изменяет часть содержимого текст. файла или бинарного, как и чем определить в каких файлах произошли изменения ?</p></blockquote></div><p>Кстати, а с какой целью интересуетесь? У вас стоить цель аудита некоей файлопомойки без принципиальноого измененения её концепции?<br />Или Вы пытаетесь организовать что-то вроде контролируемого (аудируемого) архива документов, где все шаги юзерей протоколируются? То есть - что именно хотите построить? <br />Если цель - просто обеспечить контроль целостности файлов, то стандартный путь - вести базу дайджестов и с помощью inotify перехватывать некоторые файловые события.<br />А если цель - создание корпоративного архива документов, то погуглите в сторону alfresco. Много чего умеет, но в части аудита регистрирует отдельно кто файл посмотрел, кто файл изменил и так далее.&nbsp; Там много интересных ништяков имеется.</p><p>Мое резюме такое - не стоит изобретать велосипеды.</p>]]></description>
			<author><![CDATA[null@example.com (Cruiser78)]]></author>
			<pubDate>Mon, 08 Dec 2014 07:26:20 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=434767#p434767</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=434762#p434762</link>
			<description><![CDATA[<p><strong>lone_wolf</strong>, практически никак. Момент чтения ты можешь зафиксировать. А также можешь зафиксировать момент создания нового файла и записи в него. Но как ты узнаешь, что это именно копирование было? А вдруг просто совпадение?</p><p>А так... inotify-tools вам в помощь =).</p>]]></description>
			<author><![CDATA[null@example.com (elve)]]></author>
			<pubDate>Mon, 08 Dec 2014 06:29:01 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=434762#p434762</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=434749#p434749</link>
			<description><![CDATA[<p>по этой же теме интересно а можно ли как то узнать делалась ли копия файла ?</p>]]></description>
			<author><![CDATA[null@example.com (lone_wolf)]]></author>
			<pubDate>Sun, 07 Dec 2014 23:03:25 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=434749#p434749</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=434747#p434747</link>
			<description><![CDATA[<p>gvfs-monitor-dir<br />gvfs-monitor-file</p>]]></description>
			<author><![CDATA[null@example.com (1000Mhz)]]></author>
			<pubDate>Sun, 07 Dec 2014 20:54:23 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=434747#p434747</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=434556#p434556</link>
			<description><![CDATA[<div class="quotebox"><cite>mogul82 пишет:</cite><blockquote><p>Допустим есть директория с кучей поддиректорий и файлов, некое ПО изменяет часть содержимого текст. файла или бинарного, как и чем определить в каких файлах произошли изменения ?</p></blockquote></div><p>Вычислять MD5-дайджесты и сравнивать с ранее запомненными значениями. Можно обойтись и CRC32, но оно сильно коллизионно и там без проблем можно спрятать изменения. С MD5-дайджестом такое не пройдет. Это классический подход к оффлайновому обеспечению контроля целостности.<br />Ну, можно и initifywait использовать. Там сразу будешь получать события файловой системы и знать, какой файл кто трогал. Это уже в онлайне.</p>]]></description>
			<author><![CDATA[null@example.com (Cruiser78)]]></author>
			<pubDate>Fri, 05 Dec 2014 18:06:04 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=434556#p434556</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=434540#p434540</link>
			<description><![CDATA[<p>если на лету, то с помощью inotify() и утилит на его основе.</p>]]></description>
			<author><![CDATA[null@example.com (s.xbatob)]]></author>
			<pubDate>Fri, 05 Dec 2014 15:38:07 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=434540#p434540</guid>
		</item>
		<item>
			<title><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=434514#p434514</link>
			<description><![CDATA[<p><strong>man find</strong>, внимание на -newer</p>]]></description>
			<author><![CDATA[null@example.com (Fat-Zer)]]></author>
			<pubDate>Fri, 05 Dec 2014 13:19:55 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=434514#p434514</guid>
		</item>
		<item>
			<title><![CDATA[Как отследить изменения в файлах]]></title>
			<link>https://linuxforum.ru/viewtopic.php?pid=434507#p434507</link>
			<description><![CDATA[<p>Допустим есть директория с кучей поддиректорий и файлов, некое ПО изменяет часть содержимого текст. файла или бинарного, как и чем определить в каких файлах произошли изменения ?</p>]]></description>
			<author><![CDATA[null@example.com (mogul82)]]></author>
			<pubDate>Fri, 05 Dec 2014 13:05:12 +0000</pubDate>
			<guid>https://linuxforum.ru/viewtopic.php?pid=434507#p434507</guid>
		</item>
	</channel>
</rss>
