J3qx

information archive

Archive for the ‘linux’ Category

Как работает Linux: от нажатия кнопки включения до рабочего стола

Posted by j3qx на 12 ноября, 2017

Автор: Евгений Зобнин

© https://xakep.ru/2017/10/23/linux-boot-explained/

 

Лучший способ понять, как работает операционная система, — это проследить поэтапно ее загрузку. Именно во время загрузки запускаются все те механизмы, что приводят ОС в движение. Процесс этот сложный, многоступенчатый и порой запутанный. Изучать его интересно, а открытия, которые ты сделаешь при этом, могут сильно тебя удивить.

В целом загрузку среднестатистического дистрибутива Linux можно разделить на пять стадий:

  1. Загрузчик.
  2. Запуск и первичная инициализация ядра.
  3. Обнаружение оборудования, загрузка драйверов и подключение файловых систем.
  4. Запуск системных служб (демонов).
  5. Старт графической или консольной пользовательской сессии.

Мы пройдемся по всем стадиям и узнаем, что происходит во время загрузки типичного дистрибутива Linux, немного отклонившись в сторону BSD, macOS и Android по пути. Во многих случаях это позволит понять, почему процесс загрузки Linux именно такой, какой есть.

1. Загрузчик

Все начинается с загрузчика, которому во время старта машины BIOS передает управление. В старые времена, когда Linux был не так популярен, в качестве загрузчика использовался LILO (Linux Loader) — простой, очень примитивный и не позволяющий менять конфигурацию загрузки на лету. Фактически конфигурационный файл был вшит в сам загрузчик, и его приходилось переустанавливать после каждой смены настроек: обновил ядро, забыл переустановить, и твой ноутбук больше не грузится.

Читать далее…

Posted in linux | Отмечено: , , | Leave a Comment »

В гостях у Balabit. Как syslog-ng, Shell Control Box и Blindspotter стоят на страже корпоративной безопасности

Posted by j3qx на 4 ноября, 2017

На первый взгляд фирма Balabit примечательна двумя вещами: во-первых, там создали популярную систему сбора логов syslog-ng, во-вторых, это успешная компания, которая занимается информационной безопасностью в Венгрии — стране, известной скорее кулинарией, чем ИТ. Однако, помимо syslog-ng, в Balabit делают и другие интересные продукты. На них-то нас и позвали посмотреть.

Два десятка журналистов со всех стран собрались за длинным столом. Два места в центре занимают хозяева — Золтан Дьёркё и Балаж Шайдлер. Они рассказывают о том, как уже двадцать лет назад, еще когда были студентами, задумали создать свою компанию. «Так вышло, что информационная безопасность оказалась для нас самой близкой темой», — рассказывает Дьёркё.

Первым продуктом Balabit стал syslog-ng — средство агрегации логов UNIX, по сути улучшенная версия демона syslogd. Продукт оказался успешным; к двухтысячному году компания выросла, и свет увидел второй ее продукт — файрвол Zorp.

Читать далее…

Posted in linux | Отмечено: , , | 1 Comment »

Дюжина приемов в Linux, которые действительно сэкономят уйму времени

Posted by j3qx на 4 ноября, 2017

image

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

Командная строка для администратора или пользователя — это не только инструмент, которым можно сделать все, но и инструмент, который кастомизируется под себя любимого бесконечно долго. Недавно пробегал перевод на тему удобных приемов в CLI. Но у меня сложилось впечатление, что сам переводчик мало пользовался советами, из-за чего важные нюансы могли быть упущены.

Читать далее…

Posted in linux | Отмечено: , , | Leave a Comment »

Прокачай терминал! Полезные трюки, которые сделают тебя гуру консоли

Posted by j3qx на 3 ноября, 2017

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

Эта статья не обучит тебя, как пользоваться консолью, как объединять команды в пайпы и перенаправлять ввод-вывод. Она не о том, как писать скрипты или функции. Из нее ты не узнаешь, чем отличается bash от tcsh. Ее задача — показать тебе, как использовать консоль на всю катушку, добавить +50 к скорости ввода команд и +100 к эффективности. Поэтому новичкам стоит начать с базовых руководств или хотя бы изучить linux cheat sheet.

А мы, недолго думая, перейдем к делу.

Читать далее…

Posted in linux | Отмечено: , , | Leave a Comment »

Root хуже Михалкова

Posted by j3qx на 22 октября, 2017

Рут – это мифическое существо в экосистеме Linux. Он может всё: зайти в любой каталог, удалить любой файл, завершить любой процесс, открыть любой порт. В общем это суперчеловек, чрезвычайно могущественный и очень полезный. Но задумывались ли вы когда-нибудь, какую цену мы платим руту? Не думали же вы, что он работает за просто так.

 

Вы знаете команду df? Она показывает все подключенные сейчас диски и статистику по ним: сколько место занято, сколько свободно. Например:

 

$ df -m
Filesystem     1M-blocks   Used Available Use% Mounted on
udev                 224      1       224   1% /dev
tmpfs                 48      1        47   2% /run
/dev/dm-0           9204   7421      1294  86% /

 

Вы когда-нибудь замечали, что для локальных дисков сумма Used и Available чаще всего меньше общего размера диска? Ненамного, но меньше.

 

Читать далее…

Posted in linux | Отмечено: , | Leave a Comment »

Хотите зашифровать вообще любое TCP соединение? Теперь у вас есть NoiseSocket

Posted by j3qx на 19 августа, 2017

Привет, %username%!

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

А еще есть IoT, где впихивать TLS целиком это вообще задача не для слабонервных. И бэкенд, который, я почти уверен, у всех после балансера общается друг с другом по обычному HTTP. И P2P и еще и еще и еще…

Не так давно в сети появилась спецификация Noise Protocol Framework. Это по сути конструктор протоколов безопасной передачи данных, который простым языком описывает стадию хэндшейка и то, что происходит после неё. Автор — Trevor Perrin, ведущий разработчик мессенджера Signal, а сам Noise используется в WhatsApp. Так что, был отличный повод рассмотреть этот протокольный фреймворк поближе.

 

Читать далее…

Posted in linux | Отмечено: , , | Leave a Comment »

SELinux – описание и особенности работы с системой. Часть 1

Posted by j3qx на 4 августа, 2017

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

1. Введение

SELinux (SELinux) — это система принудительного контроля доступа, реализованная на уровне ядра. Впервые эта система появилась в четвертой версии CentOS, а в 5 и 6 версии реализация была существенно дополнена и улучшена. Эти улучшения позволили SELinux стать универсальной системой, способной эффективно решать массу актуальных задач. Стоит помнить, что классическая система прав Unix применяется первой, и управление перейдет к SELinux только в том случае, если эта первичная проверка будет успешно пройдена.

Читать далее…

Posted in linux | Отмечено: , | Leave a Comment »

SELinux — описание и особенности работы с системой. Часть 2

Posted by j3qx на 4 августа, 2017

Коллеги, в первой части статьи о SElinux мы рассмотрели основные особенности работы с системой SELinux. Как и обещано, теперь публикуем вторую часть, в которой основное внимание уделено настройке политик. Что же, приступим.

Индивидуальная настройка политик SELinux

Незначительные изменения в политиках SELinux можно проводить и без полного изменения самой политики. Для этого достаточно модифицировать логические значения, связанные с дополнительными функциями, определенными в политике. Эти функции позволяют, например, предоставлять доступ к домашним каталогам пользователей при помощи Samba или позволять Apache использовать файлы, находящиеся в домашнем каталоге.

Читать далее…

Posted in linux | Отмечено: , , | Leave a Comment »

Moby/Docker в продакшене. История провала

Posted by j3qx на 14 июля, 2017

Примечание переводчика: в предыдущей статье о подготовке к девопс-конференциямGryphon88задал резонный вопрос: как отличить cutting-edge и хайп? Нижеследующая статья наполнена сочной незамутненной истерикой, которую так приятно читать с утра, попивая чашечку кофе. Минус в том, что она написана в ноябре 2016, но нетленка не стареет. Если после прочтения захочется добавки, есть комментарии на Hacker News. А у тебя, юзернейм, такой же ад? Пиши в комментариях. Итак, начнем.

 

В первый раз я встретился с Докером в начале 2015. Мы экспериментировали с ним, чтобы понять, для чего бы его можно употребить. В то время нельзя было запустить контейнер в фоне, не было команд чтобы посмотреть что запущено, зайти под дебагом или SSH внутрь контейнера. Эксперимент оказался быстрым, Докер был признан бесполезным и более похожим на альфу или прототип, чем на релиз.

 

Читать далее…

Posted in linux | Отмечено: , | Leave a Comment »

Автомонтирование файловых систем с systemd

Posted by j3qx на 9 июля, 2017

Среди множества функций, которые предоставляет systemd, есть одна, которую несправедливо забыли. Это функция автомонтирования. При настройке автомонтирования указанный каталог будет подмонтирован только после первого обращения к нему (точнее, прямо во время).

NFS over VPN

Конкретный пример: у меня есть удалённый сервер, на котором есть интересующий меня каталог. Я хочу иметь этот каталог локально на своей машине. Протокол доступа — nfs. Т.к. он не имеет шифрования, то разумным решением выглядит использование vpn-канала до сервера.

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

Как оно устроено

Systemd имеет специальный вид automount-юнитов, которые позволяют автоматически монтировать указанный каталог.

Важно: automount-юниты это не «mount-юниты с автомонтированием», они не могут иметь в себе параметры монтирования. Вместо этого, они (при обращении к каталогу) всего лишь вызывают mount-юнит для указанного каталога.

Соответственно, при конфигурации:

  • Опции монтирования, устройство (или сервер в случае NFS) указываются в mount-юните
  • Зависимости и install-секция указываются в automount-юните
  • Свзяка automount-юнита и mount-юнита происходит по параметру where

Это же можно заметить по структуре самих юнитов. У mount-юнита есть секция [Mount] в которой может быть множество параметров. У automount-юнита такой секции быть не должно, а вместо этого есть секция [Automount], в которой могут быть всего несколько параметров: Where, DirectoryMode и TimeoutIdleSec.

Практический пример

/etc/systemd/system/media-nfs.mount:

[Unit]
Description=NFS share
[Mount]
What=server.url.example.com:/srv/nfs_share
Where=/media/nfs
Type=nfs4
Options=rw
DirectoryMode=0755

/etc/systemd/system/media-nfs.automount:

[Unit]
Description=NFS share
Requires=openvpn@vpn.service
Requires=network-online.target
[Automount]
Where=/media/nfs
TimeoutIdleSec=301
[Install]
WantedBy=graphical.target

Наблюдение: при том, что для mount-юнита нормальное состояние это active (mounted), то для automount — active (running), как для сервиса.

Если же automount ещё не случился, то статус будет «active (waiting)».

После настройки automount’а нужно сделать (sudo) systemctl daemon-reload, и сделать ls /media/nfs (для примера выше) — после некоторой задержки от монтирования nfs’а, мы увидим содержимое файлов на удалённом сервере.

© https://habrahabr.ru/post/331240/

Posted in linux | Отмечено: , , | Leave a Comment »