En Es Ru

OctOpenBSD

это месяц, посвященный операционной системе OpenBSD, её использованию, который был официально объявлен Solène 1-го октября. В рамках этого мероприятия всем желающим предлагалось делиться своим опытом использования OpenBSD. Это было немного провокационно, поскольку не было объявлено чем всё это должно закончиться. Прошло четыре недели с начала OctOpenBSD и этот специальный выпуск OpenBSD Webzine является кульминацией данного события. На волне популярных октябрьских мероприятий, таких как inktober или spooktober, перед запуском OctOpenBSD было шутливое предложение сделать специальный выпуск вебзина в конце месяца, приуроченный к Хэллоуину. И хотя идея была крайне интересной, но всё в итоге пришло к популяризации OpenBSD и, как следствие, её побратимов-демонов. В то время, как на окраинах свободного и открытого киберпространства все еще витают опьяняющие идеи использования BSD-систем, пользователи, чьи пути пересеклись с шипастыми рыбами, демонами и стрекозами, уже давно под властью их чар и редко оглядываются назад. В этом специальном выпуске вы можете найти что-то новое, полезное, забавное или пугающее, а, возможно, вы откроете для себя новых авторов или проекты, за которыми интересно будет следить. Плаваете ли вы непосредственно вместе с иглобрюхой рыбой или просто наблюдаете издали, сидя на спине пингвина, этот выпуск для всех вас: хакеры, техномаги, любители и ветераны кибервойн. Надеемся, что этот выпуск вам понравится. Ну и как всегда: RUNBSD.


: "Это OctOpenBSD!" (en)


OpenBSD Webzine

Специальный выпуск OctOpenBSD

"Рыба явилась ко мне во сне"

Изображения в заголовке : Три фотографии Puffy от prahou

Solène Rapenne, Tomáš Rodr

Перевод :
quobit (Испанский), continue (Русский)

Содержимое распространяется под лицензией .

Авторские тексты и иллюстрации распространяются под собственными лицензиями.

Большое спасибо всем, кто принимал участие в создании этого специального выпуска.


7.4

Обновления -stable (с предыдущего выпуска)

девушка и puffy

001 (для всех архитектур)

Исправление нескольких ошибок валидации ввода в X сервере.

002 (для всех архитектур)

Сетевой пакет, который нужно разбить на части определённой длины, мог спровоцировать падение ядра.


Страшные сказки
из
аквариума
(и не только)

puffy в виде осьминога

ghane: Загружаю свой Thinkpad X220 после того, как несколько недель им не пользовался. Обычно все заканчивается быстрее... Я уже начинаю волноваться: "Почему до сих пор не загрузился?". И тогда вывод от fsck заполняет весь экран очищенными inodes и тому подобным. Паника начинает нарастать. Вот и конец моему SSD? Все мои данные, для которых я не сделал резервную копию! Все исходные коды проектов на нём... (Конечно, у меня есть git-зеркала, но они могли быть не актуализированы последними изменениями.) Паника продолжает нарастать и засасывать меня в свой водоворот! Наконец машина стартовала. Я смог войти в систему. Файлы выглядят нормально и после двукратной проверки оказалось, что все проблемы были локализованы в /tmp и /var. Я начинаю успокаиваться, но тут начинаю вспоминать, что в тот раз я отправил ноутбук в гибернацию с несколькими важными открытыми вкладками в firefox. В режиме приватного просмотра. Их конечно уже не вернуть... но всё могло быть намного хуже.

: Когда я купил Thinkpad E490, с которого сейчас пишу это, Dragonfly не загружался на нём из-за дважды необработанной ошибки в ACPI (обычно к этому приводит рекурсия в стеке) из-за ошибки в AML. Я рассказал об этом Диллону, а он заставил пройтись "адрес за адресом в памяти" в поисках символов, похожих на . Он придумал с которым я смог загрузить свой новых Thinkpad! И всё это было сделано из syscons!

: Много, много лет назад я доводил до ума драйвер bge на OpenBSD что бы пробросить IPMI...

анонимный пользователь BSD: Однажды ночью я пытаюсь подключиться по SSH к моему внешнему IP адресу и получаю предупреждение о ключе SSH! У меня паника: меня взломали! Но это оказался всего лишь мой провайдер, у которого оптоволоконный модем (медиаконвертер) из-за неправильной настройки удалённого интерфейса администрирования забирал себе ssh трафик. В общем, я попадал по ssh в совершенно в другое устройство на моем собственном IP!

: Когда-то давно, мы с другом устанавливали NetBSD на старое железо Apple. Мы справились с установкой, загрузили его, но... сеть не работала. ЧЗХ? Почесав тыквы и осмотрев всё мы обнаружили, что в системе была установлена дата, предшествующая времени UNIX. Мы сбросили аппаратное время до актуальной даты и, внезапно, ... пинги заходили!

: работал с почтовым сервером для провайдера, в котором вдруг, без всякой видимой причины, перестал работать IMAP сервер. Я списал это на повреждение файла разделяемой библиотеки - исправление заключалось в копировании этого файла с другой BSD машины, на которой была запущена та же версия. Но что бы это выяснить мне потребовалось несколько часов, которые я потратил в выходные, в свое нерабочее время. Так получилось, что в тот день я выпил слишком много.

: Запускал netbsd/macppc на старом power macintosh 8600/120. Что бы заработал дисплей мне пришлось перед установкой прописывать OpenFirmware вслепую. С первой попытки у меня не получилось и я подумал, что, возможно, окрипичил машину. В конце концов мне удалось сбросить прошивку и сделать всё правильно, что бы включить дисплей. Машина после этого хорошо послужила, обеспечивая NAT/DHCP/firewall/обмен файлами для моих друзей.


Монтирование файловой системы в памяти (Memory File System, MFS) на OpenBSD

:

Файловая система, расположенная в виртуальной памяти, иногда называется "RAM-диск". MFS живёт только в памяти и, когда она размонтируется, содержимое файловой системы теряется.

Заполнение MFS

OpenBSD поддерживает очень интересную опцию монтирования MFS - "-P".

В странице руководства (man) она описывается как "-P file". Вот что говорит нам эта страница:

Если в качестве file указана директория, то создаваемая mfs будет
заполнена содержимым этой директории. Если в качестве file задано
блочное устройство, то создаваемая mfs будет заполнена содержимым
файловой системы FFS, расположенной на устройстве.

Перед монтированием MFS вы формируете содержимое дерева директорий и вызываете команду mount_mfs с флагом "-P", указывая на корень. MFS монтируется с уже заполненными данными из указанной директории.

Задание размера MFS

Опция "-s" используется для задания размера MFS. Эта опция задает максимальный объем RAM, который может использовать MFS. Размер задается в секторах, которые, обычно, занимают 512 байт. Так, например, что бы смонтировать 10 мегабайт MFS необходимо задать размер 20480.

Монтирование MFS

Как обычно, для монтирования нам необходимо указать устройство. Для MFS мы будем использовать swap. Допустим у нас уже есть дерево директорий в нашей системе с путём "/proto/test" и нам нужна MFS размером 10 мегабайт, смонтированная в /mnt.

Для нашего случая команда монтирования будет такой:

mount_mfs -o rw -s 20480 -P /proto/test swap /mnt

Или такая строка в /etc/fstab:

swap /mnt mfs rw,-P=/proto/test,-s=20480 0 0

Читайте руководство

У монтирования MFS много опцией. Страница руководства (man) для mount_mfs очень информативная. Прочитайте её.

Для чего это может пригодиться

MSF полезна для систем с хранилищем только для чтения или систем, которые, например, запускаются с SD-карты. Можно сильно уменьшить количество операций записи на SD-карту. Например директория /var/log для одноплатных компьютеров, таких как Raspberry Pi, может быть смонтирована в MFS. Мы можем подготовить минимальное дерево каталогов в /proto/var/log, а затем смонтировать его с использованием MFS с опцией -P.

Строка в /etc/fstab будет выглядеть как-то так:

swap /var/log mfs rw,nosuid,noexec,-P=/proto/var/log,-i=128,-s=16384 0 0

Другим примером может служить небольшая домашняя директория, например содержащая .ssh/authorized_keys. Опять же, монтирование ее с использованием MFS предотвратит попадание на диск любого изменения в ней.

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


xconsole

:

В адрес xconsole(1) часто прилетают лучи незаслуженной ненависти от пользователей OpenBSD, составляющих руководства по настройке рабочего стола. Нередко можно встретить что-то вроде: "ну а теперь давайте избавимся от этой уродливой консоли"; но мне бы хотелось реабилитировать xconsole и предложить вам превратить её в минималистичный центр сообщений.

Главное, что необходимо знать - любой вывод, перенаправленный в /dev/console, будет отображён в окне xconsole:

$ print "hi, xconsole" >/dev/console

Возможно, уже становится очевидным, как можно это использовать.

Настройка

Если вы используете xenodm, который сам запускает xconsole, то её внешний вид можно настроить опциями в /etc/X11/xenodm/Xsetup_0. А если вы запускаете xconsole вручную, например с использованием .xsession, то её можно настроить с использованием файла .Xresources (и выполнив xrdb -merge ~/.Xresources) после входа в систему, но до непосредственного запуска xconsole.

Автоматический запуск xconsole после входа пользователя:

..
# .xsession
xrdb -merge ~/.Xresources
xconsole &
..
..
!Xresources
xconsole*background : pink
xconsole*foreground : black
..

Ручной запуск xconsole:

Команда для запуска xconsole с оранжевым фоном, белым текстом и растровым шрифтом fixed-20.

$ xconsole -fn -misc-fixed-medium-r-*-*-20-*-*-*-*-*-iso10646-1 -bg orange -fg white

Ещё немного простых примеров

Компаньон cwm

Печать текущей температуры CPU по нажатию Super+W:

# script
#!/bin/sh
echo "The CPU temperature is: $(sysctl -n hw.sensors.cpu0.temp0)" >/dev/console
# .cwmrc
bind-key 4-w /path/to/script

Новая электронная почта

Можно уведомлять о приёме новых сообщений, если клиент электронной почты поддерживает запуск произвольной команды по этому событию. Например в клиенте Mutt, с использованием Muttrc, можно настроить выполнение скрипта:

# script
#!/bin/sh
echo "$(date +%H:%M) New mail!" >/dev/console
# Muttrc
set new_mail_command = "/path/to/previous/script"

Возможности безграничны. Дайте xconsole шанс.


Puffy с геймпадом

Игры на
OpenBSD

Moonring

:

Moonring это дань уважения ранним RPG в духе ultima. Игра абсолютно бесплатна в Steam и может быть запущена на OpenBSD с использованием 11 версии пакета love.

Вы можете использовать indierunner, который пока еще находится в стадии альфа тестирования, или просто запустите:

$ love-11 moonring.exe

скриншот игры moonring

godot

:

Благодаря мы продвигаемся в работе с godot4 на OpenBSD. После выматывающей борьбы с несовпадениями C++ типов, он уже здесь!

скриншот godot на openbsd

Присоединяйтесь к сообществу #openbsd-gaming в IRC на сервере libera.chat!


CYB3R HUNT

cyber hunt

:

Когда правительство решило изолировать всех за-за всемирной пандемии, никто не ожидал, что это продлится дольше нескольких месяцев.

Люди все больше и больше полагались на доставку на дом, а корпорации, в ответ на постоянно растущий спрос, построили самодостаточную сеть автоматизированных ферм и заводов: CYBFARM.

За 10 лет сеть CYBFARM разрослась настолько, что её чрезмерная эксплуатация превратила мир в пустошь. И пока мир становился всё более враждебным, CYBFARM запустила космические корабли на орбиту Земли, начав доставлять туда всё необходимое, тем самым вынудив человечество переселиться в космос.

Для тех, кто застрял на планете, сбор ресурсов с этих хорошо защищенных заводов стал вопросом жизни и смерти. После нескольких лет, проведенных в мусорных контейнерах CYBFARM, хакеры по всей планете начали искать более надежный способ получения пищи и припасов, взламывая их.

Мы называем их CYBER HUNTERS.


CYB3R HUNT это игра, героем которой являетесь вы сами.

А антиутопичном будущем вы CYBER HUNTER, добывающий провизию на CYBFARM, сети автоматизированных ферм и заводов, управляемых мощным искусственным интеллектом. Разгадывайте головоломки от CYBFARM, зарабатывайте "флаги", что бы обновить свой счёт, и узнавайте историю этого мира по мере прохождения заданий!


шоу lispy gopher

Две руки помощи от BSD:
inetd и gophernicus

:

Сетевые технологии трудно понять. Американские горки без ограничителя безопасности. И строишь их ты сам, и на первую поездку отправишься тоже ты и все, кого ты любишь. И у тебя нет возможности отказаться.

К счастью, я на собственном опыте убедился, насколько хороша OpenBSD. На всех BSD системах inetd(8) (интернет супер-сервер) уже является ожидаемой нормой, он берёт на себя всю грязную работу сетевого взаимодействия, обеспечивает ограничения по скорости, выясняет какое соединение кто будет обрабатывать и что для этого запустить. В этом контексте мой друг Paul Someone еще является пионером и делится на lisp для OpenBSD. Совместная разработка и доступная безопасность это те правила, которые привели к созданию безопасного, надёжного и полнофункционального gopher-сервера gophernicus(1) (в который внедрено использование pledge(2) и unveil(2)).

У меня возникли трудности с использованием UTF-8 и что я только не делал... Сообщение из списка рассылки подсказало мне, что я выставляю локаль слишком поздно, и я на практике убедился, что это правда. Приятно почувствовать себя наполовину компетентным с моим pf.conf(5), окунувшись в среду обмена знаниями и доступных безопасности и силы.

И это касается не только OpenBSD. Если уж на то пошло, то сопоставление идущего с NetBSD bozohttpd(8) и httpd(8) из OpenBSD позволило мне довольно хорошо освоиться с httpd(8), а также генту-образное руководство установки FreeBSD c Итак, вы хотите Х (и OpenBSD для слабонервных). Собственно, это помогло мне портировать на OpenBSD скрипты сборки виртуальной машины maiko от interlisp, один из которых уже существовал для FreeBSD. Так что можно сказать, что BSD это команда (со своими трудностями, различиями и разногласиями), которая формирует климат lispy gopher (SDF, где и происходит всё волшебство, буквально использует NetBSD).


screwtape - ведущий шоу "Lispy Gopher" на aNONradio, выходящее в эфир каждую среду в 0UTC.


openbsd
.amsterdam

логотип openbsd.amsterdam с монохромной классической puffy.

Хотите испытать удобство администрирования собственного сервера, но нет своего железа? Попробуйте VPS от openbsd.amsterdam!

jouwbuis.nl

логотип cloudtube в виде нескольких окон с видео (логотип play), каждое следущее расположенно немного выше

:

Jouwbuis - это альтернативный фронтенд для YouTube, который уважает вашу конфиденциальность и не показывает рекламу. Он запущен и спонсируется голландским активистом h3artbl33d и может быть использован всеми желающими. Jouwbuis работает на базе CloudTube. Спасибо и приятного просмотра!

analognowhere.com

девушка-техномаг

:

Вдохновлённый BSD сюрреализм, повествующий о приключениях Techno-Mage из клана Open в загадочном мире Analog Nowhere.

cybernuk.es

cybernuk.es logo of a pen inside the nuclear sign

:

Пентест сети. Альтернативные фронтенды, ориентированные на приватность, и экземпляр SearXNG.

Хостится в Нидерландах, логирование полностью выключено.


unix_surrealism

unix_surrealism puffy в виде осьминога кликает мышкой перед монитором

Puffy в виде осьминога кликает мышкой перед монитором

: thedaemon


techno-mage

маленькие демоны доставляют компьютерный компонент по руке девушки

:


Создаете искусство, вдохновлённое BSD? Поделитесь им с миром в unix_surrealism!



"Напевая из книги о кибервойнах."

Девушка и Puffy переодетые друг в друга позируют для фотографии