Upstart, fork и daemon
У Upstart есть одна известная ошибка: неверное использование expect fork/expect daemon может подвесить initctl, после чего всякие start/stop/restart/reload <service> просто перестанут работать. Для полноты картины отмечу, что такой подвисший сервис не получится остановить и через /usr/sbin/service или /etc/init.d. Весёлая ошибка, но это еще не всё.
Есть еще одна тонкость: если программа использует fork(), то в конфигурационном файле upstart должна присутствовать строка expect fork. По аналогии можно подумать, что если программа использует daemon(), то в конфигурационном файле upstart должна присутствовать строка expect daemon. А вот и нет! Далее »
Апр
2010
Scope Guard средствами C++0x: часть 1
Scope Guard — одно из средств автоматического освобождения ресурсов при выходе за пределы видимости переменной, с ними связанной. Scope Guard предоставляет базовую гарантию безопасности исключений. Авторами этой идеи (по-видимому) являются Andrei Alexandrescu и Petru Marginean. Если вы с этой статьёй еще не знакомы, то очень рекомендую к прочтению.
Реализация Scope Guard довольно простая, но из-за того, что C++ не поддерживал шаблоны с переменным количеством параметров, приходилось создавать несколько шаблонов — в зависимости от того, сколько аргументов принимает функция, выполняющая освобождение ресурсов. Далее »
Автор: Vladimir, опубликовано в: C/C++, комментариев: 2Апр
2010
Борьба с ботами-взломщиками средствами rsyslogd
В предыдущих частях статей цикла «Скажи «Нет!» взломщику» со взломщиками мы боролись при помощи связки swatch + iptables: swatch проводил анализ системного журнала сообщений, iptables использовался для блокировки непрошеных гостей.
Тем не менее, используя swatch на нескольких серверах, я не могу сказать, что я полностью им доволен: слишком уж он хрупок. Завершение дочернего tail приводит к тихой гибели самого swatch, в системе могут оставаться зомби и т.п.
Одна из альтернатив — использование rsyslogd. Далее »
Апр
2010
О компьютерных вирусах
I think computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We’ve created life in our own image.
– Stephen Hawking
Перевод:
Я думаю, что компьютерные вирусы должны считаться жизнью. Полагаю, что это говорит что-то о человеческой природе — единственная форма жизни, которую мы до сих пор создали, весьма разрушительна. Мы создали жизнь по своему подобию.Автор: Vladimir, опубликовано в: Всё подряд, комментариев: 4
Апр
2010
ProFTPd, FTPS и iptables
Ситуация: есть сервер, на котором крутится ProFTPd, а iptables настроен так, чтобы не разрешать лишних соединений (политика по умолчанию — DROP). При этом есть желание, чтобы FTP-сервер работал по протоколу FTPS и поддерживал пассивные соединения. Далее »
Апр
2010

Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.





