<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Как отследить изменения в файлах]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=36954&amp;type=atom" />
	<updated>2014-12-08T18:58:16Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=36954</id>
		<entry>
			<title type="html"><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=434806#p434806" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Cruiser78]]></name>
				<uri>https://linuxforum.ru/profile.php?id=631</uri>
			</author>
			<updated>2014-12-08T18:58:16Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=434806#p434806</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=434801#p434801" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[mogul82]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3309</uri>
			</author>
			<updated>2014-12-08T17:12:31Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=434801#p434801</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=434771#p434771" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[zakirovnadim]]></name>
				<uri>https://linuxforum.ru/profile.php?id=35299</uri>
			</author>
			<updated>2014-12-08T09:35:17Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=434771#p434771</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=434767#p434767" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>mogul82 пишет:</cite><blockquote><p>Допустим есть директория с кучей поддиректорий и файлов, некое ПО изменяет часть содержимого текст. файла или бинарного, как и чем определить в каких файлах произошли изменения ?</p></blockquote></div><p>Кстати, а с какой целью интересуетесь? У вас стоить цель аудита некоей файлопомойки без принципиальноого измененения её концепции?<br />Или Вы пытаетесь организовать что-то вроде контролируемого (аудируемого) архива документов, где все шаги юзерей протоколируются? То есть - что именно хотите построить? <br />Если цель - просто обеспечить контроль целостности файлов, то стандартный путь - вести базу дайджестов и с помощью inotify перехватывать некоторые файловые события.<br />А если цель - создание корпоративного архива документов, то погуглите в сторону alfresco. Много чего умеет, но в части аудита регистрирует отдельно кто файл посмотрел, кто файл изменил и так далее.&nbsp; Там много интересных ништяков имеется.</p><p>Мое резюме такое - не стоит изобретать велосипеды.</p>]]></content>
			<author>
				<name><![CDATA[Cruiser78]]></name>
				<uri>https://linuxforum.ru/profile.php?id=631</uri>
			</author>
			<updated>2014-12-08T07:26:20Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=434767#p434767</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=434762#p434762" />
			<content type="html"><![CDATA[<p><strong>lone_wolf</strong>, практически никак. Момент чтения ты можешь зафиксировать. А также можешь зафиксировать момент создания нового файла и записи в него. Но как ты узнаешь, что это именно копирование было? А вдруг просто совпадение?</p><p>А так... inotify-tools вам в помощь =).</p>]]></content>
			<author>
				<name><![CDATA[elve]]></name>
				<uri>https://linuxforum.ru/profile.php?id=1172</uri>
			</author>
			<updated>2014-12-08T06:29:01Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=434762#p434762</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=434749#p434749" />
			<content type="html"><![CDATA[<p>по этой же теме интересно а можно ли как то узнать делалась ли копия файла ?</p>]]></content>
			<author>
				<name><![CDATA[lone_wolf]]></name>
				<uri>https://linuxforum.ru/profile.php?id=12648</uri>
			</author>
			<updated>2014-12-07T23:03:25Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=434749#p434749</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=434747#p434747" />
			<content type="html"><![CDATA[<p>gvfs-monitor-dir<br />gvfs-monitor-file</p>]]></content>
			<author>
				<name><![CDATA[1000Mhz]]></name>
				<uri>https://linuxforum.ru/profile.php?id=35132</uri>
			</author>
			<updated>2014-12-07T20:54:23Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=434747#p434747</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=434556#p434556" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>mogul82 пишет:</cite><blockquote><p>Допустим есть директория с кучей поддиректорий и файлов, некое ПО изменяет часть содержимого текст. файла или бинарного, как и чем определить в каких файлах произошли изменения ?</p></blockquote></div><p>Вычислять MD5-дайджесты и сравнивать с ранее запомненными значениями. Можно обойтись и CRC32, но оно сильно коллизионно и там без проблем можно спрятать изменения. С MD5-дайджестом такое не пройдет. Это классический подход к оффлайновому обеспечению контроля целостности.<br />Ну, можно и initifywait использовать. Там сразу будешь получать события файловой системы и знать, какой файл кто трогал. Это уже в онлайне.</p>]]></content>
			<author>
				<name><![CDATA[Cruiser78]]></name>
				<uri>https://linuxforum.ru/profile.php?id=631</uri>
			</author>
			<updated>2014-12-05T18:06:04Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=434556#p434556</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=434540#p434540" />
			<content type="html"><![CDATA[<p>если на лету, то с помощью inotify() и утилит на его основе.</p>]]></content>
			<author>
				<name><![CDATA[s.xbatob]]></name>
				<uri>https://linuxforum.ru/profile.php?id=36272</uri>
			</author>
			<updated>2014-12-05T15:38:07Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=434540#p434540</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Как отследить изменения в файлах]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=434514#p434514" />
			<content type="html"><![CDATA[<p><strong>man find</strong>, внимание на -newer</p>]]></content>
			<author>
				<name><![CDATA[Fat-Zer]]></name>
				<uri>https://linuxforum.ru/profile.php?id=11911</uri>
			</author>
			<updated>2014-12-05T13:19:55Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=434514#p434514</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Как отследить изменения в файлах]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=434507#p434507" />
			<content type="html"><![CDATA[<p>Допустим есть директория с кучей поддиректорий и файлов, некое ПО изменяет часть содержимого текст. файла или бинарного, как и чем определить в каких файлах произошли изменения ?</p>]]></content>
			<author>
				<name><![CDATA[mogul82]]></name>
				<uri>https://linuxforum.ru/profile.php?id=3309</uri>
			</author>
			<updated>2014-12-05T13:05:12Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=434507#p434507</id>
		</entry>
</feed>
