Как работает reCAPTCHA?

Источник
В обсуждении моего недавнегоперевода замечательнейшей статьи про CAPTCHA несколько раз появлялись вопросы насчет reCAPTCHA, а именно как же эта система работает. Под катом я в общих чертах объясню суть reCAPTCHA, наглядно покажу как она работает и каким же образом она цифрует книжки.

Читать

Как и почему следует разбивать диск в никсах

Один из довольно частых вопросов на различных околониксовых ресурсах — вопрос о том, какую схему разбивки дисков использовать. С виду простой вопрос на самом деле таит в себе множество подводных камней. Если, конечно же, дело касается серверов. На десктопах все гораздо скучнее и серее.

Универсального решения в данном вопросе нету, просто есть некоторые аспекты, которыми следует руководствоваться при выборе схемы разбивки.

Ограничение пользователей

Все разделы, куда обычный пользователь имеет права на запись (/home; /tmp; /var/tmp), необходимо вынести в отдельные разделы. Этим шагом убиваем сразу целое семейство зайцев:

  • при переустановке системы нет необходимости впопыхах переносить данные пользователей на другие носители / восстанавливать что откопалось из протухших бэкапов годовалой давности
  • получаем возможность монтировать данные разделы с noexec, чтобы злостные кулхацкеры не запускали всякую дрянь в вашей системе. напомню, что noexec не спасает от шелл скриптов.
  • спасаемся от hard-link атаки (это когда обнаруживается уязвимость в каком-либо пакете, вы его успешно сносите, а уязвимость остается, потому что злоумышленник создал хард-линк на уязвимый файл). Тут и тут можно почитать подробнее.
  • можем использовать в /tmp файловую систему ext2 (журналирование здесь ни к чему, т.к. в случае сбоя восстанавливать ничего не нужно)

Читать

Оптимизируем процесс работы в консоли

Все привыкли редактировать текст в текстовых редакторах, блокнотах, веб-формах и т.д. В процессе набора текста мы пользуемся привычными стрелками, кнопками «End» и «Home», более опытные зажимают «Ctrl» и стрелками шагают по словам (что, кстати, не всегда работает). И при переходе на консоль мы ориентируемся на те же самые правила, даже не зная, что bash предлагает очень удобные средства и комбинации клавиш, которые очень упрощают работу и минимизируют количество операций для выполнения задачи. К тому же, в bash есть удобные средства работы с историей, масса различных подстановок и других интересных функций. Самые часто используемые мной и любым опытным администратором я и опишу в этой статье.

Для того, чтобы все, описанное мной, заработало, не нужно ничего до устанавливать, не нужно писать скрипты, конфиги и прочие дополнения: все эти средства работают абсолютно одинаково в большинстве современных интерпретаторах bash, работающих на любой UNIX системе.
Мой педагогический опыт говорит о том, что практика — лучший способ понять, полюбить и привыкнуть к новым функциям, поэтому я не стал рисовать голые таблицы, а сделал повествование, и рекомендую в процессе чтения статьи открыть консоль и пробовать все, чем еще не пользовались, руками.

Читать

Команда dd и все, что с ней связано

В UNIX системах есть одна очень древняя команда, которая называется dd. Она предназначена для того, чтобы что-то куда-то копировать побайтово. На первый взгляд — ничего выдающегося, но если рассмотреть все возможности этого универсального инструмента, то можно выполнять довольно сложные операции без привлечения дополнительного ПО, например: выполнять резервную копию MBR, создавать дампы данных с различных накопителей, зеркалировать носители информации, восстанавливать из резервной копии данные на носители и многое другое, а, при совмещении возможностей dd и поддержке криптографических алгоритмов ядра Linux, можно даже создавать зашифрованные файлы, содержащие в себе целую файловую систему.
Опять же, в заметке я опишу самые часто используемые примеры использования команды, которые очень облегчают работу в UNIX системах.

Начну с небольшого примера, наглядно иллюстрирующего основные параметры команды:

# dd if=/dev/urandom of=/dev/null bs=100M count=5

Параметры:

  • if: указывает на источник, т.е. на то, откуда копируем. Указывается файл, который может быть как обычным файлом, так и файлом устройства.
  • of: указывает на файл назначения. То же самое, писать можем как в обычный файл, так и напрямую в устройство.
  • bs: количество байт, которые будут записаны за раз. Можно представлять этот аргумент как размер куска данные, которые будут записаны или прочитаны, а количество кусков регулируется уже следующим параметром.
  • count: как раз то число, которое указывает: сколько кусочков будет скопировано.

Читать

Эти бесчисленные парадигмы, концепции, инструменты и фреймворки

Мое мировоззрение, как программиста, сформировалось еще во времена консольных приложений и текстовых пользовательских интерфейсов, на смену им пришли графические оконные GUI, а сейчас я наблюдаю уже третий виток технологий, связанный с глобальной сетью. Каждый раз, конечно же, приходилось менять не только любимый язык программирования, но и весь технологический стек, с наработками, заготовками и достаточно обширными библиотеками, кои сейчас гордо зовутся фреймворками. Резать приходилось по живому, нещадно и решительно.

В последнее время веб-браузер стал почти синонимом пользовательского интерфейса, и ни у кого уже не возникает сомнений, что традиционные оконные приложения, устанавливаемые в персональный компьютер, уже отходят в историю. Хоть за ними и останется небольшой процент ПО, но и за консольными приложениями он ведь тоже остался навсегда.

Наблюдая за становлением третьего, на моей памяти, поколения технологий и специалистов, могу отметить, что повторяются как “велосипеды”, так и “грабли”. Именно поэтому, я не мог не написать этой статьи. Имея большой соблазн, спуститься в самую конкретику и разобрать по винтикам несколько современных языков и технологий, их связки и особенности стыковки, но оставим это для других статей и сконцентрируемся на принципах, остающихся неизменными во всех инкарнациях информационных систем. Каждый из принципов я поясню на нескольких примерах, уже привязанных к вебу.

Читать

Видео высокой чёткости и аппаратное ускорение посредством VDPAU

Видео высокой чёткости

Большинство видео в сети, а также все видеокамеры высокой чёткости используют формат AVCHD (H.264, MPEG-4 Part 10). Он обеспечивает высокую степень сжатия при сохранении высокого качества изображения. Недостатком является высокая требовательность к ресурсам. Так, обеспечить комфортное воспроизведение видеопотока с разрешением 1920×1080 могут только современные высокопроизводительные процессоры.

NVIDIA VDPAU

Для пользователей, имеющих старый компьютер и не желающих покупать новый или использовать видео худшего качества существуют аппаратные решения. Они позволяют обойтись лишь обновлением видеокарты и использованием программного обеспечения, поддерживающего аппаратное ускорение видео. Цена такого решения невысока, но НЕ все видеокарты NVIDIA поддерживают технологию аппаратного ускорения, её версия для Linux называется VDPAU.

Список видеокарт NVIDIA

Видеокарта Графический процессор Набор возможностей VDPAU Замечания
GeForce FX (5xxx) NV3x Не поддерживается
GeForce 6 (6xxx) NV4x, C51, C61 Не поддерживается
GeForce 7 (7xxx) G7x, C86 Не поддерживается
GeForce 8800 Ultra, 8800 GTX, 8800 GTS (320/640MB) G80 Не поддерживается
GeForce 8300 GS, 8400 GS (старые), 8500 GT, 8600 GT, 8600 GTS; Quadro FX 370, 570, 570M, 1600M, 360M; Quadro NVS 130M, 135M, 140M, 290 G84, G86 A
GeForce 8800 GS, 8800 GT, 8800 GTS (512MB/1GB), 9400 GT, 9500 GT, 9600 GSO, 9600 GT, 9800 GT, 9800 GTX, 9800 GTX+, 9800 GX2; GeForce GT 120, GT 130, GTS 150, GTS 150M, GTS 160M, GTS 250, GTX 260M, GTX 280M G92, G94, G96 A
GeForce GTX 260, GTX 260 Core 216, GTX 275, GTX 280, GTX 285, GTX 295; Quadro FX 770M, 1700, 2700M, 3600M, 3700, 4800, 5800; Quadro NVS 320M GT200 A
GeForce 8400 GS (новые), 9300 GS, 9300 GE; GeForce G 100; Quadro FX 370 LP, 470; Quadro NVS 150M, 160M, 295, 420, 450 G98 B
GeForce 8100, 8200, 8200M, 8300, 9100M, 9200M GS, 9300M GS, 9400M G, 9500M GS, 9600M GS, 9650M GT, 9700M GT, 9700M GTS, 9800M GTS, 9800M GT, 9800M GTX; ION, ION-LE C77, C79, NB9 B
GeForce G 205, G 210, G 210M, GT 220, GT 230M, GT 240M, GT 240, GTS 250M, GTS 260M, 310 GT215, GT216, GT218 C Первое поколение с поддержкой MPEG-4 ASP (MPEG-4 Part 2)

Читать

Samba, как расшарить ресурсы из Ubuntu в картинках :)

//оригинал на www.oslinux.ru

То что я сегодня расскажу будет полезно новичкам которые установили на свой компьютер Ubuntu Linux и хотели бы, чтобы окружающие компьютеры под Windows или Linux могли обмениваться файлами друг с другом.

Дома и на работе у меня возникла ситуация, когда мой компьютер под Ubuntu оказался в сети Windows, при этом версии Windows, как выяснилось, не имеют значения, то могут быть XP, Vista или Seven.

Нужно было открывать и иметь доступ к общим папкам как на моем компьютере под Ubuntu так и входить на ресурсах общих папок в Windows окружении.

Сейчас для работы я использую Ubuntu версии 10.04 LTS.

Читать

Прозрачное Socks5 проксирование приложений в linux

Потребовалось мне как-то запустить игру, которая запускается под wine, через прокси. Поднял ssh-туннель, запустил игру через proxychains, и… игра не смогла соединиться с сервером, хотя chromium без проблем работал и показывал ip прокси. Попробовал tsocks — игра вообще не запустилась. Можно, конечно, было настроить VPN-туннель с помощью того же ssh, но сервер — VPS, под OpenVZ, у которого по умолчанию выключен TUN, что привело бы к письму в техподдержку и ожиданию.
Итак, пятиминутное гугление привело меня к заброшенному проекту Transocks, который, в отличие от proxychains и tsocks, которые подгружают свои библиотеки и перехватывают сетевые вызовы, слушает определенный порт и перенаправляет все, что в него пришло, через socks4 прокси. К сожалению, transocks у меня не собрался, и я начал гуглить дальше. Оказывается, у проекта есть два форка: transocks_ev на c и transocks_em на ruby. Первый поддерживает Socks5, не поддерживает авторизацию и UDP. Второй же поддерживает Socks5, UDP, *BSD, но тоже, вроде бы, не поддерживает авторизацию(не нашел в коде, а документации нет). Так как UDP мне не нужно, я остановился на transocks_ev.

Читать

Массовый хостинг с помощью mod_vhost_alias

Автор: Голышев С.В. (glsv)
e-mail: glsv@yandex.ru

В статье описывается работа с модулем Apache mod_vhost_alias. Данный модуль предназначен для уменьшения трудоемкости создания и поддержки большого количества виртуальных хостов на сервере Apache. Модуль организует динамическое создание виртуальных хостов на основе запрошенного доменного имени и не требует внесения изменений в конфигурационные файлы сервера при создании новых виртуальных хостов.

При большом числе виртуальных хостов (десятки и сотни) время запуска и перезагрузки веб-сервера занимает значительное время, в течение которого он недоступен посетителям. Такая ситуация является критической для хост-провайдеров и серверов на которых расположены популярные сайты. Уменьшить время запуска сервера и упростить работу c большим количеством виртуальных хостов может модуль Apache с названием mod_vhost_alias.

Данный модуль позволяет не создавать отдельный контейнер для каждого виртуального хоста, а динамически формирует пути к директориям сайтов на основе запрошенных доменных имен или IP-адресов. Для создания сотен виртуальных хостов модуль mod_vhost_alias использует всего 4 директивы, с помощью которых определяются правила формирования путей к директориям сайтов. 2 из них предназначены для работы с виртуальными хостами на основе имен и 2 для работы с виртуальными хостами на основе IP-адресов.

Читать

Строим сеть на Calculate Directory Server

СЕРГЕЙ ЯРЕМЧУК, инженер автоматизации. Автор более 800 статей и 4 книг. В «Системном администраторе» публикуется с первого номера.
Интересы: сетевые технологии, защита информации, свободные ОС

Принято считать, что управлять большим количеством Linux-систем очень сложно, разработчики Calculate Linux доказали, что это не так

Here all my tuxian friends are scared when it comes to gentoo or anything related to it. they say,
“hands will be on fire, if you touch it” so much customizable. now everyone is talking
of Calculate Linux. its a real blessing, i must say.

Все мои друзья пугаются, когда речь идет о Gentoo. Они говорят: «Руки будут гореть, если прикоснуться к нему», –
столько настроек. Сейчас они говорят о Calculate Linux. Я должен сказать, это реальное благословление.

Из сообщения в IRC проекта Calculate Linux

Зачем еще одно «поделие»?

Учитывая, что подобный вопрос неизменно появляется в качестве комментариев после анонса любого нового дистрибутива, следует уделить несколько строк проекту Calculate Linux.

Linux-системы ассоциируются с несколькими понятиями – бесплатность, доступность, стабильность, безопасность, управляемость, доступ к коду и возможность его изменения. Но именно бесплатность ставят на первое место, когда рассматривается вопрос о внедрении. Делая ставку на то, что системы на базе этой ОС можно свободно скачать и использовать без отчислений и постепенно довести ИТ-инфраструктуру до необходимого уровня. Учитывая затяжное внедрение и необходимость в наличии подготовленных кадров, основной упор при переходе на Linux переносится с цены приобретения на стоимость сопровождения. Именно такой аргумент приводят сторонники Microsoft, указывая, что совокупное владение Linux, несмотря на нулевую стоимость, все-таки выше именно за счет обучения и оплаты системного администратора, службы поддержки и обслуживания. Вероятно, в условиях кризиса в этом даже больше выгоды, так как финансирование внедрения Linux не будет требовать больших первоначальных вложений, а развитие ИТ-инфраструктуры может идти и финансироваться постепенно, по мере необходимости. Но как раз без должного финансирования переход на свободные ОС может длиться лишь усилиями энтузиастов и длиться не один месяц.

Читать