<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Блог сисадмина</title>
	<atom:link href="http://avz.org.ua/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://avz.org.ua/wp</link>
	<description>Заметки о Linux и прочие полезные howto</description>
	<lastBuildDate>Thu, 11 Mar 2010 13:10:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Детальное логирование в Samba</title>
		<link>http://avz.org.ua/wp/2010/03/05/%d0%b4%d0%b5%d1%82%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b5-%d0%bb%d0%be%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2-samba/</link>
		<comments>http://avz.org.ua/wp/2010/03/05/%d0%b4%d0%b5%d1%82%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b5-%d0%bb%d0%be%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2-samba/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 19:03:07 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[ *nix]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[samba]]></category>

		<guid isPermaLink="false">http://avz.org.ua/wp/?p=687</guid>
		<description><![CDATA[Иногда ну очень нужно узнать кто же создал или удалил определенный файл с файлового сервера. Стандартный лог-файл, который Samba пишет при настройках по-умолчанию, не позволяет это сделать, так как в него пишутся только события подключения и отключения от общих ресурсов. Пример стандартного лог-файла:




[2010/03/05 20:45:00, 1] smbd/service.c:make_connection_snum(1042)


&#160; host44 (10.44.44.44) connect to service PUBLIC initially as user [...]


Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2010/02/16/samba-access-per-ip-address/' rel='bookmark' title='Permanent Link: Раздаем права в samba по IP-адресу'>Раздаем права в samba по IP-адресу</a> <small>Представим ситуацию: есть samba-пользователь vasya, который ходит на samba-сервер с компьютеров с IP-адресами 172.16.0.7 и 172.16.0.13, и нужно сделать так,...</small></li>
<li><a href='http://avz.org.ua/wp/2009/05/14/samba-cups-error/' rel='bookmark' title='Permanent Link: Ошибка Samba: Unable to connect to CUPS server'>Ошибка Samba: Unable to connect to CUPS server</a> <small>Часто встречается ситуация, когда на файловом сервере под Samba, где никаких принтеров нет и не будет, в лог-файл smbd.log постоянно...</small></li>
<li><a href='http://avz.org.ua/wp/2010/01/27/sed-trick/' rel='bookmark' title='Permanent Link: Штучки с sed-ом'>Штучки с sed-ом</a> <small>sed &ndash; это stream editor. Часто используется в скриптах для различных преобразований текста. Ниже приведено несколько типичных примеров. Удаление из...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://avz.org.ua/wp/wp-content/uploads/2010/03/magnifying-glass-200x150.jpg" alt="" title="magnifying-glass" width="200" height="150" class="pic" />Иногда ну очень нужно узнать кто же создал или удалил определенный файл с файлового сервера. Стандартный лог-файл, который Samba пишет при настройках по-умолчанию, не позволяет это сделать, так как в него пишутся только события подключения и отключения от общих ресурсов. Пример стандартного лог-файла:<br />
<br/></p>
<div class="geshi no text">
<ol>
<li class="li1">
<div class="de1">[2010/03/05 20:45:00, 1] smbd/service.c:make_connection_snum(1042)</div>
</li>
<li class="li1">
<div class="de1">&nbsp; host44 (10.44.44.44) connect to service PUBLIC initially as user vasya (uid=503, gid=501) (pid 27070)</div>
</li>
<li class="li1">
<div class="de1">[2010/03/05 20:47:34, 1] smbd/service.c:close_cnum(1239)</div>
</li>
<li class="li1">
<div class="de1">&nbsp; host44 (10.44.44.44) closed connection to service PUBLIC</div>
</li>
</ol>
</div>
<p>Чтобы лог-файл был более подробным, в <strong>smb.conf</strong> нужно добавить следующие строки:</p>
<div class="geshi text">
<ol>
<li class="li1">
<div class="de1">log level = 0 vfs:2</div>
</li>
<li class="li1">
<div class="de1">max log size = 0</div>
</li>
<li class="li1">
<div class="de1">syslog = 0</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">[PUBLIC]</div>
</li>
<li class="li1">
<div class="de1">&nbsp; comment = writeable folder</div>
</li>
<li class="li1">
<div class="de1">&nbsp; path = /var/spool/samba/public</div>
</li>
<li class="li1">
<div class="de1">&nbsp; valid users = @admins</div>
</li>
<li class="li1">
<div class="de1">&nbsp; public = yes</div>
</li>
<li class="li1">
<div class="de1">&nbsp; writable = yes</div>
</li>
<li class="li1">
<div class="de1">&nbsp; printable = no</div>
</li>
<li class="li1">
<div class="de1">&nbsp; vfs objects = full_audit</div>
</li>
<li class="li1">
<div class="de1">&nbsp; full_audit:prefix = %u|%I</div>
</li>
<li class="li1">
<div class="de1">&nbsp; full_audit:failure = none</div>
</li>
<li class="li1">
<div class="de1">&nbsp; full_audit:success = mkdir rmdir open read pread write pwrite sendfile rename unlink lock</div>
</li>
<li class="li1">
<div class="de1">&nbsp; full_audit:facility = local5</div>
</li>
<li class="li1">
<div class="de1">&nbsp; full_audit:priority = debug</div>
</li>
</ol>
</div>
<p>В параметрах шары все, что касается логирования, перечислено в строках 12-17. В 13-ой строке указываем префикс (логин и IP-адрес клиента). В 15-ой строке перечисляем операции, которые должны подвергаться аудиту (которые будут записываться в лог-файл). В 16-ой и 17-ой строках указываем параметры для syslog. Затем в <strong>/etc/syslog.conf</strong> добавляем строку</p>
<div class="geshi no text">
<ol>
<li class="li1">
<div class="de1">local5.debug &nbsp;-/var/log/samba/audit.log</div>
</li>
</ol>
</div>
<p>и посылаем syslog-у сигнал HUP чтобы тот перечитал свой конфиг. Знак минуса перед именем файла означает, что после каждой записи в файл не будет выполняться операция sync, а данные некоторое время будут находится в оперативной памяти в дисковом буфере. При большой интенсивности потока записей это уменьшает нагрузку на дисковую систему.</p>
<p>В результате в файле /var/log/samba/audit.log появляются примерно такие записи:</p>
<div class="geshi no text">
<ol>
<li class="li1">
<div class="de1">Mar 5 21:04:01 serv smbd_audit: vasya|10.44.44.44|pwrite|ok|dir1/somefile.exe</div>
</li>
<li class="li1">
<div class="de1">Mar 5 21:04:01 serv smbd_audit: ann|10.44.44.92|open|ok|r|dir2/infodept/database.txt</div>
</li>
<li class="li1">
<div class="de1">Mar 5 21:04:01 serv smbd_audit: editor|10.44.44.34|pread|ok|dir1/somefile.exe</div>
</li>
</ol>
</div>


<p>Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2010/02/16/samba-access-per-ip-address/' rel='bookmark' title='Permanent Link: Раздаем права в samba по IP-адресу'>Раздаем права в samba по IP-адресу</a> <small>Представим ситуацию: есть samba-пользователь vasya, который ходит на samba-сервер с компьютеров с IP-адресами 172.16.0.7 и 172.16.0.13, и нужно сделать так,...</small></li>
<li><a href='http://avz.org.ua/wp/2009/05/14/samba-cups-error/' rel='bookmark' title='Permanent Link: Ошибка Samba: Unable to connect to CUPS server'>Ошибка Samba: Unable to connect to CUPS server</a> <small>Часто встречается ситуация, когда на файловом сервере под Samba, где никаких принтеров нет и не будет, в лог-файл smbd.log постоянно...</small></li>
<li><a href='http://avz.org.ua/wp/2010/01/27/sed-trick/' rel='bookmark' title='Permanent Link: Штучки с sed-ом'>Штучки с sed-ом</a> <small>sed &ndash; это stream editor. Часто используется в скриптах для различных преобразований текста. Ниже приведено несколько типичных примеров. Удаление из...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://avz.org.ua/wp/2010/03/05/%d0%b4%d0%b5%d1%82%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b5-%d0%bb%d0%be%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2-samba/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Раздаем права в samba по IP-адресу</title>
		<link>http://avz.org.ua/wp/2010/02/16/samba-access-per-ip-address/</link>
		<comments>http://avz.org.ua/wp/2010/02/16/samba-access-per-ip-address/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 21:19:58 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[ *nix]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[samba]]></category>

		<guid isPermaLink="false">http://avz.org.ua/wp/?p=676</guid>
		<description><![CDATA[Представим ситуацию: есть samba-пользователь vasya, который ходит на samba-сервер с компьютеров с IP-адресами 172.16.0.7 и 172.16.0.13, и нужно сделать так, чтобы при подключении с 172.16.0.7 у него был доступ на запись в общий ресурс NashaShara, а при подключении с 172.16.0.13 &#8211; доступ только на чтение. Решается эта задача с помощью макро-подстановок (man 5 smb.conf, раздел [...]


Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2010/03/05/%d0%b4%d0%b5%d1%82%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b5-%d0%bb%d0%be%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2-samba/' rel='bookmark' title='Permanent Link: Детальное логирование в Samba'>Детальное логирование в Samba</a> <small>Иногда ну очень нужно узнать кто же создал или удалил определенный файл с файлового сервера. Стандартный лог-файл, который Samba пишет...</small></li>
<li><a href='http://avz.org.ua/wp/2009/05/14/samba-cups-error/' rel='bookmark' title='Permanent Link: Ошибка Samba: Unable to connect to CUPS server'>Ошибка Samba: Unable to connect to CUPS server</a> <small>Часто встречается ситуация, когда на файловом сервере под Samba, где никаких принтеров нет и не будет, в лог-файл smbd.log постоянно...</small></li>
<li><a href='http://avz.org.ua/wp/2009/09/06/bruteforce-protection/' rel='bookmark' title='Permanent Link: Противодействие автоматическому подбору паролей'>Противодействие автоматическому подбору паролей</a> <small>В лог-файлах почти любого публично доступного FTP-сервера в Интернет сисадмин почти всегда видит попытки множественных безуспешных попыток авторизации. Например: Thu...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Представим ситуацию: есть samba-пользователь vasya, который ходит на samba-сервер с компьютеров с IP-адресами 172.16.0.7 и 172.16.0.13, и нужно сделать так, чтобы при подключении с 172.16.0.7 у него был доступ на запись в общий ресурс NashaShara, а при подключении с 172.16.0.13 &ndash; доступ только на чтение. Решается эта задача с помощью макро-подстановок (man 5 smb.conf, раздел &laquo;VARIABLE SUBSTITUTIONS&raquo;) следующим образом:</p>
<ol>
<li>Создаем директорию /etc/samba/per-ip-configs</li>
<li>В директории /etc/samba/per-ip-configs создаем файл с именем 172.16.0.7.conf:
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span>NashaShara<span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; comment = Read-Write access</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; path = <span class="sy0">/</span>var<span class="sy0">/</span>spool<span class="sy0">/</span>samba<span class="sy0">/</span>nashashara</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; valid <span class="kw2">users</span> = vasya</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">write</span> list = vasya</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; create mask = <span class="nu0">644</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; directory mask = <span class="nu0">755</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; printable = no</div>
</li>
</ol>
</div>
</li>
<li>Потом в той же директории /etc/samba/per-ip-configs создаем файл уже с именем 172.16.0.13.conf:
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="br0">&#91;</span>NashaShara<span class="br0">&#93;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; comment = Read-only access</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; path = <span class="sy0">/</span>var<span class="sy0">/</span>spool<span class="sy0">/</span>samba<span class="sy0">/</span>nashashara</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; valid <span class="kw2">users</span> = vasya</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; create mask = <span class="nu0">644</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; directory mask = <span class="nu0">755</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; printable = no</div>
</li>
</ol>
</div>
</li>
<li>В конфигурационном файле <strong>smb.conf</strong> в самом начале раздела, где описываются общие ресурсы, добавляем строку:
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">include = <span class="sy0">/</span>etc<span class="sy0">/</span>samba<span class="sy0">/</span>per-ip-configs<span class="sy0">/%</span>I.conf</div>
</li>
</ol>
</div>
</li>
</ol>
<p>Таким образом, теперь при подключении нового клиента samba будет подгружать ту часть конфига, которая соответствует IP-адресу клиента (он подставляется вместо <strong>%I</strong>). Если клиент подключится с другого IP-адреса (для которого нет соответствующего файла в /etc/samba/per-ip-configs) и в основном конфиге <strong>smb.conf</strong> не будет определения для общего ресурса NashaShara, то клиент просто этот ресурс не увидит и доступа к нему не получит.</p>


<p>Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2010/03/05/%d0%b4%d0%b5%d1%82%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d0%b5-%d0%bb%d0%be%d0%b3%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2-samba/' rel='bookmark' title='Permanent Link: Детальное логирование в Samba'>Детальное логирование в Samba</a> <small>Иногда ну очень нужно узнать кто же создал или удалил определенный файл с файлового сервера. Стандартный лог-файл, который Samba пишет...</small></li>
<li><a href='http://avz.org.ua/wp/2009/05/14/samba-cups-error/' rel='bookmark' title='Permanent Link: Ошибка Samba: Unable to connect to CUPS server'>Ошибка Samba: Unable to connect to CUPS server</a> <small>Часто встречается ситуация, когда на файловом сервере под Samba, где никаких принтеров нет и не будет, в лог-файл smbd.log постоянно...</small></li>
<li><a href='http://avz.org.ua/wp/2009/09/06/bruteforce-protection/' rel='bookmark' title='Permanent Link: Противодействие автоматическому подбору паролей'>Противодействие автоматическому подбору паролей</a> <small>В лог-файлах почти любого публично доступного FTP-сервера в Интернет сисадмин почти всегда видит попытки множественных безуспешных попыток авторизации. Например: Thu...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://avz.org.ua/wp/2010/02/16/samba-access-per-ip-address/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Гневное письмо в банк</title>
		<link>http://avz.org.ua/wp/2010/01/29/bank-letter/</link>
		<comments>http://avz.org.ua/wp/2010/01/29/bank-letter/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 20:06:28 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Развлекуха]]></category>

		<guid isPermaLink="false">http://avz.org.ua/wp/?p=665</guid>
		<description><![CDATA[Заявление
Управляющему Тамбовским филиалом
ОАО АКБ &#171;********-Банк»
********** *. *.
От Потерпевшего ********** ********* *********
г. Тамбов, ул. ************, д. **,кв.**
Уважаемая Ольга Юрьевна!
Вчера 30.08.2006 закончив тяжелый рабочий день, я направился к банкомату, что по улице Октябрьской, д 1. По дороге я напевал &#171;деньги-деньги дребеденьги» и отчетливо представлял, как конвертирую презренные бумажки, на вечер с прекрасной знакомкой в каком-нибудь близлежащем кафе. [...]


Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2009/09/07/dont-build-networks-in-this-way/' rel='bookmark' title='Permanent Link: Как не надо строить сети'>Как не надо строить сети</a> <small>Во времена студенчества я подрабатывал в маленькой фирме, занимающейся выездным админством. В один прекрасный день шеф Женя взял меня с...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Заявление</p>
<p>Управляющему Тамбовским филиалом<br />
ОАО АКБ &laquo;********-Банк»<br />
********** *. *.<br />
От Потерпевшего ********** ********* *********<br />
г. Тамбов, ул. ************, д. **,кв.**</p>
<p>Уважаемая Ольга Юрьевна!</p>
<p>Вчера 30.08.2006 закончив тяжелый рабочий день, я направился к банкомату, что по улице Октябрьской, д 1. По дороге я напевал &laquo;деньги-деньги дребеденьги» и отчетливо представлял, как конвертирую презренные бумажки, на вечер с прекрасной знакомкой в каком-нибудь близлежащем кафе. Ничего не подозревая, я подошел к банкомату, вставил карту, набрал пин-код и решив что 1500 (одна тысяча пятьсот) рублей вполне подходящая сумма (и голодным не останешься и жаба потом душить не будет) я нажал &laquo;Ввод».Ну а поскольку в нашем офисе введен режим жесткой экономии бумаги, то на предложение автомата распечатать чек, я ответил решительным отказом. Ведь как-никак мы с Вами один холдинг, а стало быть делаем общее дело и должны помогать экономить друг другу, пусть даже на банковских чеках.</p>
<p>В момент ожидания денег я задумался и ярко представил себе холодную кружку пенной &laquo;Крушовицы». горячие баварские колбаски с горчицей, которые только пару минут как сняли со скворчащей сковородки, атмосферу тепла и уюта, веселых<br />
друзей и симпатичных подруг. Каких-то 20 минут отделяли меня от праздника жизни, где нет места начальникам и подчиненным, закулисным интригам и подковерной борьбе....И в этот момент я посмотрел на отверстие в банкомате, откуда обычно подаются купюры. Там уже лежали и ждали пока я ими овладею, мои кровные 1500 руб. Но только было я протянул руку за ними, как что-то проскрипело, зажужжало и как по мгновению волшебной палочки, деньги втянулись<br />
в банкомат обратно. Мир рухнул - вот первое что я подумал на тот момент. Но вслух лишь произнес слово, отражающее краткую характеристику пользующейся дурной славой девушки, которое я здесь не могу привести по причине своего хорошего воспитания.</p>
<p>Надеясь на лучшее, я проверил баланс, но оказалось, что деньги уже списались с моего счета. И тут. казавшийся таким приятным вечер мгновенно изменился. Исчезли и перспективы встречи с любительницами &laquo;Крушовицы» и баварские колбаски, тепло и уют в придачу. Я стоял у бездушного банкомата и задавался вопросами:<br />
1. Почему все гак не правильно на этом свете и где вселенская справедливость?<br />
2. Почему всего можно добиться только обманом и ложью?<br />
3. Почему хорошие люди живут мало, а плохие долго?<br />
4. Почему люди координируют свои действия, руководствуясь только личной выгодой?<br />
5. Как можно без денег насладиться пивом, колбасками и обществом прекрасной знакомки?</p>
<p>Покурив и поразмыслив над суетностью бытия, я решил, что если хорошенько подумать, то в принципе, ну так, чисто теоретически, я могу выделить еще одну сумму эквивалентную 1500 руб. на проведение сегодняшнего вечера. И уже без особого энтузиазма, я снова поплелся к банкомату. Опять же по привычке вставив карту и набрав пин-код, я стал ждать вожделенной компенсации из цветных бумажек. Но на этот раз вылез только чек, хотя я его не просил и карта. На чеке была надпись, обозначающая полное фиаско, а также то, что засну я сегодня голодным, трезвым и в одиночестве, а именно: &laquo;Извините, в банкомате кончились купюры» (этот чек я сохранил, на случай если у Вас также введена экономия бумаги и Вам приходится распечатывать новые чеки на обратной стороне старых. И могу его вам передать по случаю).</p>
<p>Нет я не стал портить имущество ОАО АКБ &laquo;*****-Банк» и знакомить окружающих с новыми лексико-семантическими конструкциями. Я вдруг четко осознал, что мы с вами часть одной команды, вместе настроенные на достижение результата. И<br />
только совместные усилия приведут нас к победе в обозримом будущем. Не могу не поделиться своей рационализаторской находкой. На данный момент, как я понял, время ожидания банкомата составляет 30 секунд. После этого времени он<br />
&laquo;втягивает» деньги назад. Настоящим предлагаю сократить время ожидания банкомата до 5 секунд, а из &laquo;втянутых» обратно в банкомат денег сформировать премиальный фонд работников ОАО АКБ &laquo;*****-Банк». Акцию можно провести под лозунгом: &laquo;Тренируя реакцию. Вы повышаете рождаемость». Как автор идеи я претендую на 15% от суммы и по возможности на место в совете директоров.</p>
<p>P.S. Прошу зачислить насильственно отнятую у меня банкоматом сумму в размере 1500 руб. на счет моей пластиковой карты.</p>


<p>Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2009/09/07/dont-build-networks-in-this-way/' rel='bookmark' title='Permanent Link: Как не надо строить сети'>Как не надо строить сети</a> <small>Во времена студенчества я подрабатывал в маленькой фирме, занимающейся выездным админством. В один прекрасный день шеф Женя взял меня с...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://avz.org.ua/wp/2010/01/29/bank-letter/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Штучки с sed-ом</title>
		<link>http://avz.org.ua/wp/2010/01/27/sed-trick/</link>
		<comments>http://avz.org.ua/wp/2010/01/27/sed-trick/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 20:06:09 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[ *nix]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[sed]]></category>

		<guid isPermaLink="false">http://avz.org.ua/wp/?p=653</guid>
		<description><![CDATA[sed &#8211; это stream editor. Часто используется в скриптах для различных преобразований текста. Ниже приведено несколько типичных примеров.

Удаление из файла заданных строк.
Пусть, например, нужно удалить строки из файла, в которых содержиться подстрока &#171;phone: xxx-xx-xx&#187; (вместо символа x - цифры):



sed &#34;/phone: [0-9]\{3\}-[0-9]\{2\}-[0-9]\{2\}/ d&#34; somefile.txt



Здесь между слешами (/) задается шаблон (регулярное выражение), после него стоит оператор &#171;d&#187; [...]


Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2009/03/15/ssmtp-log-patch/' rel='bookmark' title='Permanent Link: Включение в лог sSMTP даты и времени отправки письма'>Включение в лог sSMTP даты и времени отправки письма</a> <small>Патч, который добавляет в лог запись даты и врмени отправки письма. Чтобы запись в лог работала, sSMTP должен быть сконфигурен...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><strong>sed</strong> &ndash; это <strong>s</strong>tream <strong>ed</strong>itor. Часто используется в скриптах для различных преобразований текста. Ниже приведено несколько типичных примеров.</p>
<ol>
<li>Удаление из файла заданных строк.<br />
Пусть, например, нужно удалить строки из файла, в которых содержиться подстрока &laquo;phone: xxx-xx-xx&raquo; (вместо символа x - цифры):</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">sed</span> <span class="st0">&quot;/phone: [0-9]<span class="es0">\{</span>3<span class="es0">\}</span>-[0-9]<span class="es0">\{</span>2<span class="es0">\}</span>-[0-9]<span class="es0">\{</span>2<span class="es0">\}</span>/ d&quot;</span> somefile.txt</div>
</li>
</ol>
</div>
<p>Здесь между слешами (/) задается шаблон (регулярное выражение), после него стоит оператор <strong>&laquo;d&raquo;</strong> (от слова delete), который удаляет строки, совпадающие с шаблоном. Результат:</p>
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$cat</span> <span class="kw3">test</span>.txt</div>
</li>
<li class="li1">
<div class="de1">phone: <span class="nu0">111</span><span class="nu0">-22</span><span class="nu0">-44</span></div>
</li>
<li class="li1">
<div class="de1">phone: <span class="nu0">111</span><span class="nu0">-22</span><span class="nu0">-44</span></div>
</li>
<li class="li1">
<div class="de1">phone: <span class="nu0">311</span><span class="nu0">-22</span>-d4</div>
</li>
<li class="li1">
<div class="de1">phone: &nbsp;<span class="nu0">111</span><span class="nu0">-22</span><span class="nu0">-55</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$sed</span> <span class="st0">&quot;/phone: [0-9]<span class="es0">\{</span>3<span class="es0">\}</span>-[0-9]<span class="es0">\{</span>2<span class="es0">\}</span>-[0-9]<span class="es0">\{</span>2<span class="es0">\}</span>/ d&quot;</span> <span class="kw3">test</span>.txt</div>
</li>
<li class="li1">
<div class="de1">phone: <span class="nu0">311</span><span class="nu0">-22</span>-d4</div>
</li>
<li class="li1">
<div class="de1">phone: &nbsp;<span class="nu0">111</span><span class="nu0">-22</span><span class="nu0">-55</span></div>
</li>
</ol>
</div>
<p>Если нужно, чтобы изменения происходили сразу в файле, без вывода в stdout, нужно добавить ключ <strong>--in-place (-i)</strong>.
</li>
<li>Удаление из файла первых нескольких строк до тех пор, пока не встретиться пустая строка. Такое часто бывает нужно при обработке писем &ndash; если нужно отделить заголовок письма от его тела:
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$cat</span> <span class="kw3">test</span>.txt</div>
</li>
<li class="li1">
<div class="de1">Some text <span class="kw1">in</span> mail header.</div>
</li>
<li class="li1">
<div class="de1">Another text line <span class="kw1">in</span> mail header.</div>
</li>
<li class="li1">
<div class="de1">And so on...</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">Here starts mail body.</div>
</li>
<li class="li1">
<div class="de1">Some text <span class="kw1">in</span> mail body.</div>
</li>
<li class="li1">
<div class="de1">Use <span class="kw2">sed</span> to <span class="kw2">make</span> things <span class="kw2">nice</span> :<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$sed</span> <span class="st0">&#39;1,/^$/ d&#39;</span> <span class="kw3">test</span>.txt</div>
</li>
<li class="li1">
<div class="de1">Here starts mail body.</div>
</li>
<li class="li1">
<div class="de1">Some text <span class="kw1">in</span> mail body.</div>
</li>
<li class="li1">
<div class="de1">Use <span class="kw2">sed</span> to <span class="kw2">make</span> things <span class="kw2">nice</span> :<span class="br0">&#41;</span></div>
</li>
</ol>
</div>
<p>Здесь видно, что первые три строки были удалены. Шаблон <strong>/^$/</strong> означает пустую строку (символ <strong>^</strong> совпадает с началом строки, а символ <strong>$</strong> &ndash; с концом строки. Так как между ними ничего нет, то строка пустая). Выражение <strong>1,/^$/</strong> означает диапазон строк с 1-ой до пустой включительно. Оператор <strong>&laquo;d&raquo;</strong> &ndash; удаление.
</li>
<li>Замена текста. Для этого испольузется оператор <strong>s///</strong>:
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$cat</span> <span class="kw3">test</span>.txt</div>
</li>
<li class="li1">
<div class="de1">I want to have <span class="kw2">nice</span> house with <span class="nu0">4</span> rooms.</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$sed</span> <span class="st0">&quot;s/<span class="es0">\(</span>nice<span class="es0">\)</span>/very <span class="es0">\1</span>/&quot;</span> <span class="kw3">test</span>.txt <span class="sy0">|</span> <span class="kw2">sed</span> <span class="st0">&quot;s/[0-9]/12/&quot;</span></div>
</li>
<li class="li1">
<div class="de1">I want to have very <span class="kw2">nice</span> house with <span class="nu0">12</span> rooms.</div>
</li>
</ol>
</div>
<p>В операторе замены <strong>s///</strong> между 1-ым и 2-ым слешем указывается шаблон, который нужно найти для замены, а между 2-ым и 3-им слешем &ndash; текст, НА который нужно заменить шаблон. Если в шаблоне используются круглые скобки (их нужно экранировать обратнымы слешами), то текст между скобками будет доступен для использвания во второй части оператора (это называется backreference). Для вставки текста, заключенного в 1-ую пару скобок, применяется конструкция <strong>\1</strong>, для текста между второй парой скобок &ndash; <strong>\2</strong> и т.д.
</li>
</ol>


<p>Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2009/03/15/ssmtp-log-patch/' rel='bookmark' title='Permanent Link: Включение в лог sSMTP даты и времени отправки письма'>Включение в лог sSMTP даты и времени отправки письма</a> <small>Патч, который добавляет в лог запись даты и врмени отправки письма. Чтобы запись в лог работала, sSMTP должен быть сконфигурен...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://avz.org.ua/wp/2010/01/27/sed-trick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress: борьба со спамом</title>
		<link>http://avz.org.ua/wp/2010/01/23/wp-autospam-blocking/</link>
		<comments>http://avz.org.ua/wp/2010/01/23/wp-autospam-blocking/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 18:08:46 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[ Веб-приложения]]></category>
		<category><![CDATA[Howto]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://avz.org.ua/wp/?p=629</guid>
		<description><![CDATA[Посвящается тем, кого утомили тонны спама в комментариях, оставляемые с единственной целью &#8211; повесить ссылку на продвигаемый спамером сайт. Есть, конечно, для этого дела много разных плагинов, типа Akismet, Bad Behavior, Parasite Eliminator. Но мне больше нравится следующий простой и эффективный метод, не требующий установки никаких плагинов. Нужно просто переименовать поля формы для ввода комментария. [...]


Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2009/07/22/wordpress-tuning/' rel='bookmark' title='Permanent Link: Тонкая настройка wordpress'>Тонкая настройка wordpress</a> <small>В этой статье освещены следующие темы: Тайм-аут при загрузке файлов с удаленных хостов Отложенная публикация Удаление черновиков Статический блок в...</small></li>
<li><a href='http://avz.org.ua/wp/2009/08/24/cutenews-with-captcha/' rel='bookmark' title='Permanent Link: Внедряем Captcha в CuteNews'>Внедряем Captcha в CuteNews</a> <small>Защита от спама сейчас - просто необходимый элемент любого сайта, где присутствует возможность заполнения каки-либо форм (будь то форма для...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Посвящается тем, кого утомили тонны спама в комментариях, оставляемые с единственной целью &ndash; повесить ссылку на продвигаемый спамером сайт. Есть, конечно, для этого дела много разных плагинов, типа Akismet, Bad Behavior, Parasite Eliminator. Но мне больше нравится следующий простой и эффективный метод, не требующий установки никаких плагинов. Нужно просто переименовать поля формы для ввода комментария. И всё! Спамерское программное обеспечение, которое рассылает спам по блогам в автоматическом режиме, как раз и ориентируется на наличие полей в форме с определенными именами. Куда и пытается совать всякую фигню типа &laquo;Отличный блог, добавил в закладки :)&raquo; ни в коем случае на забывая оставить ссылочку. В случае с WordPress это поля <strong>comment</strong>, <strong>email</strong>, <strong>url</strong> и <strong>author</strong>. Поэтому в директории, соответствующей установленной теме, нужно отредактировать файл comment.php следующим образом.</p>
<ol>
<li>Для начала 41-ую строку
<div class="geshi php">
<div class="head">/wp-content/themes/<ваша тема>/forms/comment.php</div>
<ol start="41">
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>textarea name<span class="sy0">=</span><span class="st0">&quot;comment&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;comment&quot;</span> rows<span class="sy0">=</span><span class="st0">&quot;8&quot;</span> cols<span class="sy0">=</span><span class="st0">&quot;40&quot;</span> tabindex<span class="sy0">=</span><span class="st0">&quot;1&quot;</span><span class="sy0">&gt;&lt;/</span>textarea<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
<p>меняем на:</p>
<div class="geshi php">
<div class="head">/wp-content/themes/<ваша тема>/forms/comment.php</div>
<ol start="41">
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>textarea name<span class="sy0">=</span><span class="st0">&quot;komment&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;komment&quot;</span> rows<span class="sy0">=</span><span class="st0">&quot;8&quot;</span> cols<span class="sy0">=</span><span class="st0">&quot;40&quot;</span> tabindex<span class="sy0">=</span><span class="st0">&quot;1&quot;</span><span class="sy0">&gt;&lt;/</span>textarea<span class="sy0">&gt;</span></div>
</li>
</ol>
</div>
</li>
<li>Далее 55-ую строку
<div class="geshi php">
<div class="head">/wp-content/themes/<ваша тема>/forms/comment.php</div>
<ol start="55">
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span> name<span class="sy0">=</span><span class="st0">&quot;author&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;author&quot;</span> value<span class="sy0">=</span><span class="st0">&quot;&lt;?php echo $comment_author; ?&gt;&quot;</span> size<span class="sy0">=</span><span class="st0">&quot;22&quot;</span> tabindex<span class="sy0">=</span><span class="st0">&quot;2&quot;</span> <span class="sy0">/&gt;</span></div>
</li>
</ol>
</div>
<p>меняем на:</p>
<div class="geshi php">
<div class="head">/wp-content/themes/<ваша тема>/forms/comment.php</div>
<ol start="55">
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span> name<span class="sy0">=</span><span class="st0">&quot;aftar&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;aftar&quot;</span> value<span class="sy0">=</span><span class="st0">&quot;&lt;?php echo $comment_author; ?&gt;&quot;</span> size<span class="sy0">=</span><span class="st0">&quot;22&quot;</span> tabindex<span class="sy0">=</span><span class="st0">&quot;2&quot;</span> <span class="sy0">/&gt;</span></div>
</li>
</ol>
</div>
</li>
<li>60-ую строку
<div class="geshi php">
<div class="head">/wp-content/themes/<ваша тема>/forms/comment.php</div>
<ol start="60">
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span> name<span class="sy0">=</span><span class="st0">&quot;email&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;email&quot;</span> value<span class="sy0">=</span><span class="st0">&quot;&lt;?php echo $comment_author_email; ?&gt;&quot;</span> size<span class="sy0">=</span><span class="st0">&quot;22&quot;</span> tabindex<span class="sy0">=</span><span class="st0">&quot;3&quot;</span> <span class="sy0">/&gt;</span></div>
</li>
</ol>
</div>
<p>меняем на:</p>
<div class="geshi php">
<div class="head">/wp-content/themes/<ваша тема>/forms/comment.php</div>
<ol start="60">
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span> name<span class="sy0">=</span><span class="st0">&quot;pochta&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;pochta&quot;</span> value<span class="sy0">=</span><span class="st0">&quot;&lt;?php echo $comment_author_email; ?&gt;&quot;</span> size<span class="sy0">=</span><span class="st0">&quot;22&quot;</span> tabindex<span class="sy0">=</span><span class="st0">&quot;3&quot;</span> <span class="sy0">/&gt;</span></div>
</li>
</ol>
</div>
</li>
<li>72-ую строку
<div class="geshi php">
<div class="head">/wp-content/themes/<ваша тема>/forms/comment.php</div>
<ol start="72">
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span> name<span class="sy0">=</span><span class="st0">&quot;url&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;url&quot;</span> value<span class="sy0">=</span><span class="st0">&quot;&lt;?php echo $comment_author_url; ?&gt;&quot;</span> size<span class="sy0">=</span><span class="st0">&quot;22&quot;</span> tabindex<span class="sy0">=</span><span class="st0">&quot;4&quot;</span> <span class="sy0">/&gt;</span></div>
</li>
</ol>
</div>
<p>меняем на:</p>
<div class="geshi php">
<div class="head">/wp-content/themes/<ваша тема>/forms/comment.php</div>
<ol start="72">
<li class="li1">
<div class="de1"><span class="sy0">&lt;</span>input type<span class="sy0">=</span><span class="st0">&quot;text&quot;</span> name<span class="sy0">=</span><span class="st0">&quot;sait&quot;</span> id<span class="sy0">=</span><span class="st0">&quot;sait&quot;</span> value<span class="sy0">=</span><span class="st0">&quot;&lt;?php echo $comment_author_url; ?&gt;&quot;</span> size<span class="sy0">=</span><span class="st0">&quot;22&quot;</span> tabindex<span class="sy0">=</span><span class="st0">&quot;4&quot;</span> <span class="sy0">/&gt;</span></div>
</li>
</ol>
</div>
</li>
<li>Затем в файле /wp-comments-post.php меняем код, где упоминаются эти поля формы:
<div class="geshi php">
<div class="head">/wp-comments-post.php</div>
<ol start="40">
<li class="li1">
<div class="de1"><span class="re1">$comment_author</span> <span class="sy0">=</span> <span class="br0">&#40;</span> <span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;author&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> ? <span class="kw3">trim</span><span class="br0">&#40;</span><span class="kw3">strip_tags</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;author&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">:</span> <span class="kw2">null</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$comment_author_email</span> <span class="sy0">=</span> <span class="br0">&#40;</span> <span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;email&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> ? <span class="kw3">trim</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;email&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">:</span> <span class="kw2">null</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$comment_author_url</span> <span class="sy0">=</span> <span class="br0">&#40;</span> <span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;url&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> ? <span class="kw3">trim</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;url&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">:</span> <span class="kw2">null</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$comment_content</span> <span class="sy0">=</span> <span class="br0">&#40;</span> <span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;comment&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> ? <span class="kw3">trim</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;comment&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">:</span> <span class="kw2">null</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
<p>Заменяя оригинальные имена на полей на те, что придумали ранее:</p>
<div class="geshi php">
<div class="head">/wp-comments-post.php</div>
<ol start="40">
<li class="li1">
<div class="de1"><span class="re1">$comment_author</span> <span class="sy0">=</span> <span class="br0">&#40;</span> <span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;aftar&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> ? <span class="kw3">trim</span><span class="br0">&#40;</span><span class="kw3">strip_tags</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;aftar&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="sy0">:</span> <span class="kw2">null</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$comment_author_email</span> <span class="sy0">=</span> <span class="br0">&#40;</span> <span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;pochta&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> ? <span class="kw3">trim</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;pochta&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">:</span> <span class="kw2">null</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$comment_author_url</span> <span class="sy0">=</span> <span class="br0">&#40;</span> <span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;sait&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> ? <span class="kw3">trim</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;sait&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">:</span> <span class="kw2">null</span><span class="sy0">;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$comment_content</span> <span class="sy0">=</span> <span class="br0">&#40;</span> <span class="kw3">isset</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;komment&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="br0">&#41;</span> ? <span class="kw3">trim</span><span class="br0">&#40;</span><span class="re1">$_POST</span><span class="br0">&#91;</span><span class="st0">&#39;komment&#39;</span><span class="br0">&#93;</span><span class="br0">&#41;</span> <span class="sy0">:</span> <span class="kw2">null</span><span class="sy0">;</span></div>
</li>
</ol>
</div>
</li>
<p>Лично у меня после этих модификаций спам полностью прекратился. А до этого было по 15-20 штук спамерских сообщений в сутки. Хоть на сайте они и не появлялись, так как Akismet их прилежно отлавливал, но все равно нужно было вручную удалять из админки весь этот хлам, чтобы не замусоривать базу данных. Новые имена полей могут быть любыми, лишь бы они отличались от исходных.</p>
<p>Недостаток такого метода в том, что после обновления WordPress изменения, скорей всего, потеряются и нужно будет либо проделать правки заново, либо пред обновлением сохранить файлы comment.php и wp-comments-post.php, а после обновления &ndash; заменить новые на старые. Кроме того, спам через trackback-и все равно пролезет. Поэтому нужно либо их запретить (например, правилами модуля Apache ModRewrite), либо поставить какой-то плагин вроде Simple Trackback Validation.</p>
<p>Все это проверялось на версиях WordPress 2.9.0 и 2.9.1. Для других версий могут быть отличия в коде и в номерах строк.</p>


<p>Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2009/07/22/wordpress-tuning/' rel='bookmark' title='Permanent Link: Тонкая настройка wordpress'>Тонкая настройка wordpress</a> <small>В этой статье освещены следующие темы: Тайм-аут при загрузке файлов с удаленных хостов Отложенная публикация Удаление черновиков Статический блок в...</small></li>
<li><a href='http://avz.org.ua/wp/2009/08/24/cutenews-with-captcha/' rel='bookmark' title='Permanent Link: Внедряем Captcha в CuteNews'>Внедряем Captcha в CuteNews</a> <small>Защита от спама сейчас - просто необходимый элемент любого сайта, где присутствует возможность заполнения каки-либо форм (будь то форма для...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://avz.org.ua/wp/2010/01/23/wp-autospam-blocking/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Обналичка чеков</title>
		<link>http://avz.org.ua/wp/2010/01/10/checks/</link>
		<comments>http://avz.org.ua/wp/2010/01/10/checks/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 09:49:08 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[webmoney]]></category>
		<category><![CDATA[обналичка чеков]]></category>

		<guid isPermaLink="false">http://avz.org.ua/wp/?p=620</guid>
		<description><![CDATA[Почитав на форумах о мытарствах наших соотечественников с обналичкой чеков AdSense в украинских банках, хочу сообщить народу о сервисе обналички чеков EPayService. Комиссия - 2,5%. С момента отправки чека из областного центра в Санкт-Петербург до возможности вывода на webmoney проходит 3-4 недели. Удобно тем, что не надо связываться с зажравшимися банками, выстаивать в очередях, тратить [...]]]></description>
			<content:encoded><![CDATA[<p>Почитав на форумах о мытарствах наших соотечественников с обналичкой чеков AdSense в украинских банках, хочу сообщить народу о сервисе <a title="чек на инкассо, именные чеки" href="http://www.epayservice.ru" target="_blank">обналички чеков EPayService</a>. Комиссия - 2,5%. С момента отправки чека из областного центра в Санкт-Петербург до возможности вывода на webmoney проходит 3-4 недели. Удобно тем, что не надо связываться с зажравшимися банками, выстаивать в очередях, тратить нервы на общение с зачастую некомпетентными сотрудниками банковских учреждений и вообще никуда ходить (за исключением одного похода в почтовое отделение для отправки чека). Схема простая:</p>
<ol>
<li><a title="обналичивание чеков google" href="https://epsbanking.com/index.php?action=reg" target="_blank">Регистрируемся</a> в сервисе.</li>
<li>Подписываем полученный чек (в рамке с надписью &laquo;endorse here&raquo;).</li>
<li> Отправляем чек по обычной почте в г. Санкт-Петербург по адресу, указанному в личном кабинете.</li>
<li>Ждем 2-3 недели получения SMS на Ваш мобильный телефон о приходе чека в г. Санкт-Петербург.</li>
<li>Еще ждем 5-7 дней следующей SMS о возможности вывода средств.</li>
<li>Заходим в личный кабинет и переводим деньги на кошелек webmoney.</li>
</ol>
<p>А с недавних пор весь процесс по времени можно значительно сократить, благодаря новой ускоренной процедуре обработки чеков. По информации на сайте EPayService, надо всего лишь отсканировать чек с двух сторон, загрузить сканы чека в личном кабинете и отправить оригинал чека по почте в офис EPayService. Как только оригинал чека поступает в офис, Вам выплачиваются деньги по чеку (становятся доступны для вывода). Чек поступает на обналичивание практически сразу, после загрузки сканов чека в форму, расположенную в личном кабинете. Это дает реальное сокращение срока получения денег по чеку (с момента отправки  до момента получения) минимум в 2 раза, а максимум в 4 раза. Фактически это время пересылки оригинала чека по почте в офис представительства в г. Санкт-Петербург.</p>
<p>Сам я лично эту новую схему пока не проверял, как проверю - отпишусь.</p>
]]></content:encoded>
			<wfw:commentRss>http://avz.org.ua/wp/2010/01/10/checks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Появилась новая прошивка WRT160NL v0.1.2 для роутеров Linksys</title>
		<link>http://avz.org.ua/wp/2009/12/24/new-firmware-wrt160nl-v0-1-2/</link>
		<comments>http://avz.org.ua/wp/2009/12/24/new-firmware-wrt160nl-v0-1-2/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 10:02:23 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[ *nix]]></category>

		<guid isPermaLink="false">http://avz.org.ua/wp/?p=617</guid>
		<description><![CDATA[Информационный ресурс по поддержке продукции Linksys  Мир Wi-Fi сообщает о выпуске новой прошивки для  Linksys WRT160NL --- нового маршрутизатора, ориентированного на Linux-сообщество. Теперь WRT160NL может поддерживать высокую скорость PPTP, 3G и Wimax модемы, Torrent и многое другое. Прошивка ориентирована на высокоскоростную работу с VPN PPTP сетями типа Corbina. К примеру, скорость PPTP соединения доходит до [...]]]></description>
			<content:encoded><![CDATA[<p>Информационный ресурс по поддержке продукции Linksys  <a href="http://mirwifi.org" target="_blank">Мир Wi-Fi</a> сообщает о выпуске новой прошивки для  Linksys WRT160NL --- нового маршрутизатора, ориентированного на Linux-сообщество. Теперь WRT160NL может поддерживать высокую скорость PPTP, 3G и Wimax модемы, Torrent и многое другое. Прошивка ориентирована на высокоскоростную работу с VPN PPTP сетями типа Corbina. К примеру, скорость PPTP соединения доходит до 80 Mbps. В отличие от базовой прошивки, имя PPTP сервера можно задавать не только IP адресом, но и доменным именем, как то vpn.someserver.ru. В новой прошивке USB порт можно использовать для подключения 3G и WiMax модемов. Было провдено успешное  тестирование устройства с сетью PeopleNet (Украина), а также Yota (Россия).  Результаты  тестирования показали, что новая прошивка  отлично подходит для  работы  устройства  в режиме 3G и WiMax. Также преимуществами являются возможность поддержки Torrent клиента и базового принт-сервера. Переход с Linksys прошивки на прошивку Mirwifi.org довольно прост --- достаточно обновить прошивку через Web-интерфейс с помощью стандартной процедуры. Перейти назад на Linksys прошивку можно также через Web-интерфейс.</p>
]]></content:encoded>
			<wfw:commentRss>http://avz.org.ua/wp/2009/12/24/new-firmware-wrt160nl-v0-1-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка Skype в 64-битную Linux-систему</title>
		<link>http://avz.org.ua/wp/2009/11/23/skype-linux-64bi/</link>
		<comments>http://avz.org.ua/wp/2009/11/23/skype-linux-64bi/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 13:19:04 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[ *nix]]></category>
		<category><![CDATA[ldconfig]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[skype]]></category>

		<guid isPermaLink="false">http://avz.org.ua/wp/?p=506</guid>
		<description><![CDATA[К сожалению, Skype пока не выпустил 64-битной версии своего продукта под Linux. Но, погуглив немного, находятся отзывы, что в 64-битной системе можно запустить 32-битную версию. Вот я и решил попробовать на своей Fedora core 11 2.6.30.9-96.fc11.x86_64. Последовательность следующая.

Качаем 32-битную rpm-ку с офф. сайта.
Устанавливаем:



rpm -ivh skype-2.1.0.47-fc10.i586.rpm




Пытаемся запустить бинарник /usr/bin/skype &#8211; он вылетит с жалобой на отсутствующую [...]


Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2009/06/19/canon-pixma-ip1000-in-linux/' rel='bookmark' title='Permanent Link: Установка принтера Canon Pixma iP1000 в Linux'>Установка принтера Canon Pixma iP1000 в Linux</a> <small> 1. Ставим rpm-файлы: bjfilter-common-2.50-2.i386.rpm, bjfilter-pixmaip1000-2.50-2.i386.rpm, bjfilter-pixmaip1000-lprng-2.50-2.i386.rpm 2. Перезапускаем cups: /etc/rc.d/init.d/cups restart 3. Выполняем команду для окончательной регистрации принтера: lpadmin...</small></li>
<li><a href='http://avz.org.ua/wp/2009/05/22/linux-installcheckpoints/' rel='bookmark' title='Permanent Link: Порядок настройки свежеустановленной Linux'>Порядок настройки свежеустановленной Linux</a> <small>Здесь описан порядок начальной настройки свежеустановленной операционной системы (на примере RedHat-подобных дистрибутивов, таких как Fedora, CentOS и т.п). Проверить, что...</small></li>
<li><a href='http://avz.org.ua/wp/2009/02/12/chroot-rpm-install/' rel='bookmark' title='Permanent Link: Установка rpm-пакета в chroot-окружении'>Установка rpm-пакета в chroot-окружении</a> <small>Иногда возникает необходимость доустановить какой-то софт из RPM-пакета в уже созданное chroot-окружение. Это можно сделать, например, так: rpm --root /chr/httpd...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>К сожалению, Skype пока не выпустил 64-битной версии своего продукта под Linux. Но, <a href="http://forum.skype.com/index.php?s=3f13bc37287be4e3eca14699978a490b&#038;showtopic=71908&#038;st=20" rel="nofollow">погуглив</a> немного, находятся отзывы, что в 64-битной системе можно запустить 32-битную версию. Вот я и решил попробовать на своей Fedora core 11 2.6.30.9-96.fc11.x86_64. Последовательность следующая.</p>
<ol>
<li><a href="http://www.skype.com/go/getskype-linux-beta-fc10">Качаем</a> 32-битную rpm-ку с офф. сайта.</li>
<li>Устанавливаем:
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1">rpm -ivh skype<span class="nu0">-2.1</span><span class="nu0">.0</span><span class="nu0">.47</span>-fc10.i586.rpm</div>
</li>
</ol>
</div>
</li>
<li>Пытаемся запустить бинарник /usr/bin/skype &ndash; он вылетит с жалобой на отсутствующую библиотеку:
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$skype</span></div>
</li>
<li class="li1">
<div class="de1">skype: error <span class="kw1">while</span> loading shared libraries: libssl.so<span class="nu0">.8</span>: </div>
</li>
<li class="li1">
<div class="de1">cannot open shared object <span class="kw2">file</span>: No such <span class="kw2">file</span> or directory</div>
</li>
</ol>
</div>
</li>
<li>Смотрим c помощью ldd какие ему нужны библиотеки:
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$ldd</span> <span class="sy0">/</span>usr<span class="sy0">/</span>bin<span class="sy0">/</span>skype</div>
</li>
<li class="li1">
<div class="de1">linux-gate.so<span class="nu0">.1</span> =<span class="sy0">&gt;</span> &nbsp;<span class="br0">&#40;</span>0xf77a1000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">librt.so<span class="nu0">.1</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>lib<span class="sy0">/</span>librt.so<span class="nu0">.1</span> <span class="br0">&#40;</span>0xf7691000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libpthread.so<span class="nu0">.0</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>lib<span class="sy0">/</span>libpthread.so<span class="nu0">.0</span> <span class="br0">&#40;</span>0xf6948000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libstdc++.so<span class="nu0">.6</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>libstdc++.so<span class="nu0">.6</span> <span class="br0">&#40;</span>0&#215;00bf2000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libm.so<span class="nu0">.6</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>lib<span class="sy0">/</span>libm.so<span class="nu0">.6</span> <span class="br0">&#40;</span>0&#215;00b9b000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libgcc_s.so<span class="nu0">.1</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>lib<span class="sy0">/</span>libgcc_s.so<span class="nu0">.1</span> <span class="br0">&#40;</span>0&#215;00bc5000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libc.so<span class="nu0">.6</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>lib<span class="sy0">/</span>libc.so<span class="nu0">.6</span> <span class="br0">&#40;</span>0&#215;00a28000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libdl.so<span class="nu0">.2</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>lib<span class="sy0">/</span>libdl.so<span class="nu0">.2</span> <span class="br0">&#40;</span>0xf6942000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">/</span>lib<span class="sy0">/</span>ld-linux.so<span class="nu0">.2</span> <span class="br0">&#40;</span>0&#215;00a04000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libSM.so<span class="nu0">.6</span> =<span class="sy0">&gt;</span> not found</div>
</li>
<li class="li1">
<div class="de1">libXi.so<span class="nu0">.6</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>libXi.so<span class="nu0">.6</span> <span class="br0">&#40;</span>0xf655e000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libXrender.so<span class="nu0">.1</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>libXrender.so<span class="nu0">.1</span> <span class="br0">&#40;</span>0xf6555000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libXrandr.so<span class="nu0">.2</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>libXrandr.so<span class="nu0">.2</span> <span class="br0">&#40;</span>0xf654d000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libXfixes.so<span class="nu0">.3</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>libXfixes.so<span class="nu0">.3</span> <span class="br0">&#40;</span>0xf6548000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libXcursor.so<span class="nu0">.1</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>libXcursor.so<span class="nu0">.1</span> <span class="br0">&#40;</span>0xf653e000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libXinerama.so<span class="nu0">.1</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>libXinerama.so<span class="nu0">.1</span> <span class="br0">&#40;</span>0xf653b000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libfontconfig.so<span class="nu0">.1</span> =<span class="sy0">&gt;</span> <span class="sy0">/</span>usr<span class="sy0">/</span>lib<span class="sy0">/</span>libfontconfig.so<span class="nu0">.1</span> <span class="br0">&#40;</span>0xf6507000<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">libssl.so<span class="nu0">.8</span> =<span class="sy0">&gt;</span> not found</div>
</li>
</ol>
</div>
<p>Те библиотеки, которые нужно доустановить, будут помечены как &laquo;not found&raquo;</li>
<li>Устанавливаем недостающие библиотеки. В моем случае потребовалось установить (командой yum install) следующие пакеты: libICE.i586 libXau.i586 libxcb.i586 libX11.i586 libXext.i586 libXi.i586 libXrender.i586 libXrandr.i586 libXfixes.i586 libXcursor.i586 libXinerama.i586 expat.i586 freetype-freeworld.i586 fontconfig.i586 e2fsprogs-libs.i586 keyutils-libs.i586 zlib-1.2.3-22.i586 libselinux.i586 krb5-libs.i586 openssl.i586 libattr.i586 libcap.i586</li>
<li>После чего пробуем запускать skype, у меня успешно запустился.</li>
</ol>
<p>Есть альтернативный путь для тех, что не хочет захламять систему библиотеками неродной архитектуры.
<ol>
<li>Определяем имя rpm-пакета, в котором должна быть отсутствующая библиотека:
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$skype</span></div>
</li>
<li class="li1">
<div class="de1">skype: error <span class="kw1">while</span> loading shared libraries: libSM.so<span class="nu0">.6</span>: </div>
</li>
<li class="li1">
<div class="de1">cannot open shared object <span class="kw2">file</span>: No such <span class="kw2">file</span> or directory</div>
</li>
<li class="li1">
<div class="de1"><span class="co0">#locate libSM.so.6</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">/</span>usr<span class="sy0">/</span>lib64<span class="sy0">/</span>libSM.so<span class="nu0">.6</span></div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">/</span>usr<span class="sy0">/</span>lib64<span class="sy0">/</span>libSM.so<span class="nu0">.6</span><span class="nu0">.0</span><span class="nu0">.0</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co0">#rpm -qf /usr/lib64/libSM.so.6</span></div>
</li>
<li class="li1">
<div class="de1">libSM<span class="nu0">-1.1</span><span class="nu0">.0</span><span class="nu0">-4</span>.fc11.x86_64</div>
</li>
</ol>
</div>
<p>Значит, нам нужен пакет libSM.i586.</li>
<li>Качаем нужную rpm-ку. Например, найдя ее через <a href="http://www.rpmfind.net/linux/rpm2html/search.php?query=libSM+fc11+i386&#038;submit=Search+...&#038;system=&#038;arch=">rpmfind.net</a>.</li>
<li>Заходим в нее с помощью Midnight Commander-ом (подсветив файл и нажав &lt;Enter&gt;), ищем файл CONTENTS.cpio, через F5 достаем (разархивируем) нужные файлы из каталогов lib, складываем куда-то в одно место, например в /usr/local/lib/32bit. </li>
<li>Добавлем в файл /etc/ld.so.conf строку с путем к скачанным библиотекам:
<div class="geshi no bash">
<ol>
<li class="li1">
<div class="de1"><span class="re1">$cat</span> <span class="sy0">/</span>etc<span class="sy0">/</span><span class="kw2">ld</span>.so.conf</div>
</li>
<li class="li1">
<div class="de1">include <span class="kw2">ld</span>.so.conf.d<span class="sy0">/*</span>.conf</div>
</li>
<li class="li1">
<div class="de1"><span class="sy0">/</span>usr<span class="sy0">/</span><span class="kw3">local</span><span class="sy0">/</span>lib<span class="sy0">/</span>32bit</div>
</li>
</ol>
</div>
</li>
<li>Запускаем по рутом команду ldconfig.</li>
<li>Пробуем запускать skype. Если опять ругается на отсутствие какой-то библиотеки, провторяем пп. 1-5 уже для следующей библиотеки.</li>
</ol>


<p>Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2009/06/19/canon-pixma-ip1000-in-linux/' rel='bookmark' title='Permanent Link: Установка принтера Canon Pixma iP1000 в Linux'>Установка принтера Canon Pixma iP1000 в Linux</a> <small> 1. Ставим rpm-файлы: bjfilter-common-2.50-2.i386.rpm, bjfilter-pixmaip1000-2.50-2.i386.rpm, bjfilter-pixmaip1000-lprng-2.50-2.i386.rpm 2. Перезапускаем cups: /etc/rc.d/init.d/cups restart 3. Выполняем команду для окончательной регистрации принтера: lpadmin...</small></li>
<li><a href='http://avz.org.ua/wp/2009/05/22/linux-installcheckpoints/' rel='bookmark' title='Permanent Link: Порядок настройки свежеустановленной Linux'>Порядок настройки свежеустановленной Linux</a> <small>Здесь описан порядок начальной настройки свежеустановленной операционной системы (на примере RedHat-подобных дистрибутивов, таких как Fedora, CentOS и т.п). Проверить, что...</small></li>
<li><a href='http://avz.org.ua/wp/2009/02/12/chroot-rpm-install/' rel='bookmark' title='Permanent Link: Установка rpm-пакета в chroot-окружении'>Установка rpm-пакета в chroot-окружении</a> <small>Иногда возникает необходимость доустановить какой-то софт из RPM-пакета в уже созданное chroot-окружение. Это можно сделать, например, так: rpm --root /chr/httpd...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://avz.org.ua/wp/2009/11/23/skype-linux-64bi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>О плохих привычках</title>
		<link>http://avz.org.ua/wp/2009/11/20/%d0%be-%d0%bf%d0%bb%d0%be%d1%85%d0%b8%d1%85-%d0%bf%d1%80%d0%b8%d0%b2%d1%8b%d1%87%d0%ba%d0%b0%d1%85/</link>
		<comments>http://avz.org.ua/wp/2009/11/20/%d0%be-%d0%bf%d0%bb%d0%be%d1%85%d0%b8%d1%85-%d0%bf%d1%80%d0%b8%d0%b2%d1%8b%d1%87%d0%ba%d0%b0%d1%85/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 11:25:53 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Развлекуха]]></category>

		<guid isPermaLink="false">http://avz.org.ua/wp/?p=504</guid>
		<description><![CDATA[Работал я в прекрасный выходной денёк по VPN из дома на серваках. Их в офисе пять штук, все на 2003 виндах (как и домашняя машина), на все захожу по стандартному RDP.
Есть у меня дурацкая привычка: если надо при работе на одном сервере выйти на другой, я, не сворачивая терминал, в нём же открываю следующий сервак, [...]]]></description>
			<content:encoded><![CDATA[<p>Работал я в прекрасный выходной денёк по VPN из дома на серваках. Их в офисе пять штук, все на 2003 виндах (как и домашняя машина), на все захожу по стандартному RDP.</p>
<p>Есть у меня дурацкая привычка: если надо при работе на одном сервере выйти на другой, я, не сворачивая терминал, в нём же открываю следующий сервак, в нём следующий... Таким образом я сидел на всех пяти серваках &#8212; один в другом открыт, как матрёшка.</p>
<p>Закончил свои грязные дела на серваках и решил, что можно пойти с друзьями пивка в баре дёрнуть. Попрощался с благоверной и ушел. Сижу в баре, с чувством выполненного долга потягиваю пенистый напиток. Звонит жена:</p>
<p>&#8212; Ты компутер не выключил, когда ушёл, выключить?<br />
&#8212; Если хочешь &#8212; выруби.<br />
&#8212; Хорошо.</p>
<p>Вечером вернулся домой, снова включил комп. Решил опять что-то по работе поделать, подключил VPN &#8212; ни один сервак не открывается и не пингуется. На работе свет за два года моей работы не выключался ни разу. Пытаюсь осознать, что могло в офисе случится &#8212; может, хаб помер, может, UPS по каким-то причинам выключился. Все это, впрочем, кажется неправдоподобным.</p>
<p>Тут заходит благоверная и молвит:</p>
<p>&#8212; Что-то сегодня компьютер выключаться не хотел, шесть раз пришлось выключать.<br />
&#8212; ?!<br />
&#8212; Я сначала один раз нажала &laquo;Пуск &#8212; Выключить», написала причину и нажала &laquo;ОК». Он повыключался, потом выдал окно красненькое, потом снова рабочий стол показался. И так шесть раз.</p>
<p>Естественно, моя душа погасила сначала пять серваков в открытых терминалах, а только затем стационарный комп. Пришлось на ночь глядя на работу идти серваки включать. </p>
]]></content:encoded>
			<wfw:commentRss>http://avz.org.ua/wp/2009/11/20/%d0%be-%d0%bf%d0%bb%d0%be%d1%85%d0%b8%d1%85-%d0%bf%d1%80%d0%b8%d0%b2%d1%8b%d1%87%d0%ba%d0%b0%d1%85/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проблемы с Белоснежкой и семью гномами в Windows 2000</title>
		<link>http://avz.org.ua/wp/2009/09/24/snow-white-and-the-seven-dwarfs/</link>
		<comments>http://avz.org.ua/wp/2009/09/24/snow-white-and-the-seven-dwarfs/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 10:15:47 +0000</pubDate>
		<dc:creator>Admin</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[Развлекуха]]></category>

		<guid isPermaLink="false">http://avz.org.ua/wp/?p=496</guid>
		<description><![CDATA[Цитата с сайта Microsoft:
При попытке воспроизвести DVD-фильм &#34;Белоснежка и семь гномов&#34; (&#34;платиновая&#34; коллекция) пользователь может столкнуться с искажением или нечеткостью звучания и изображения, а также с ошибкой программы проигрывателя DVD. Это происходит, поскольку драйвер UDF (UDFS.sys) в Windows 2000 не способен правильно воспринимать нестандартную схему защиты от копирования, использованную для DVD-фильма &#34;Белоснежка и семь гномов&#34; [...]


Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2009/07/21/useful-windows-command/' rel='bookmark' title='Permanent Link: Полезные команды windows'>Полезные команды windows</a> <small>Ниже приведены некоторые полезные для системных администраторов команды, которые можно использовать в .bat-файлах и различных скриптах для автоматизации. Посмотреть ip-адреса...</small></li>
<li><a href='http://avz.org.ua/wp/2009/06/04/win-pass-rese/' rel='bookmark' title='Permanent Link: Сброс пароля администратора в Windows'>Сброс пароля администратора в Windows</a> <small> &ndash; Кто такой фармацевт? &ndash; Это тот, кто частенько форматирует диск С:\ Представим себе ситуацию, когда нам в админское...</small></li>
<li><a href='http://avz.org.ua/wp/2008/08/21/danneo-charse/' rel='bookmark' title='Permanent Link: Проблемы с кодировкой в CMS Danneo 0.5.1'>Проблемы с кодировкой в CMS Danneo 0.5.1</a> <small>howto: лечим глюки с кодировкой в danneo 0.5.1. Поднять все на локалхосте (в денвере). Сделать дамп через phpmyadmin. Убедится, что...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Цитата с сайта Microsoft:</p>
<p><cite>При попытке воспроизвести DVD-фильм &quot;Белоснежка и семь гномов&quot; (&quot;платиновая&quot; коллекция) пользователь может столкнуться с искажением или нечеткостью звучания и изображения, а также с ошибкой программы проигрывателя DVD. Это происходит, поскольку драйвер UDF (UDFS.sys) в Windows 2000 не способен правильно воспринимать нестандартную схему защиты от копирования, использованную для DVD-фильма &quot;Белоснежка и семь гномов&quot; (&quot;платиновая&quot; коллекция).</cite></p>
<p>Полное описание проблемы можно почитать на <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ec5242dd-f850-483d-a639-4d4cc67a94f4&#038;displaylang=ru">официальном сайте</a> Microsoft. А также скачать патч для устранения сего безобразия.</p>
<p>Примечательно, что дата публикации сего материала отнюдь не 1-ое апреля :)</p>
<p>Спасибо Malinе за предупреждение о существовании такой серъезной проблемы :)</p>


<p>Похожие заметки:<ol><li><a href='http://avz.org.ua/wp/2009/07/21/useful-windows-command/' rel='bookmark' title='Permanent Link: Полезные команды windows'>Полезные команды windows</a> <small>Ниже приведены некоторые полезные для системных администраторов команды, которые можно использовать в .bat-файлах и различных скриптах для автоматизации. Посмотреть ip-адреса...</small></li>
<li><a href='http://avz.org.ua/wp/2009/06/04/win-pass-rese/' rel='bookmark' title='Permanent Link: Сброс пароля администратора в Windows'>Сброс пароля администратора в Windows</a> <small> &ndash; Кто такой фармацевт? &ndash; Это тот, кто частенько форматирует диск С:\ Представим себе ситуацию, когда нам в админское...</small></li>
<li><a href='http://avz.org.ua/wp/2008/08/21/danneo-charse/' rel='bookmark' title='Permanent Link: Проблемы с кодировкой в CMS Danneo 0.5.1'>Проблемы с кодировкой в CMS Danneo 0.5.1</a> <small>howto: лечим глюки с кодировкой в danneo 0.5.1. Поднять все на локалхосте (в денвере). Сделать дамп через phpmyadmin. Убедится, что...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://avz.org.ua/wp/2009/09/24/snow-white-and-the-seven-dwarfs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 2.917 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-03-11 15:11:04 -->
<!-- Compression = gzip -->