Записки админа
12.9K subscribers
648 photos
28 videos
227 files
2.46K links
Пишу о Linux и администрировании серверов.

Связаться с автором: @servers

Заметки в браузере: https://sysadmin.pm/

Буст канала: https://yangx.top/sysadminnotes?boost
加入频道
А вот вам удобный инструмент для быстрой записи действий в терминале - Asciinema. Очень выручает, когда клиенту или коллеге нужно показать какую-то последовательность действий/команд и их результаты. Пакеты с утилитой доступны для установки во всех популярных дистрибутивах.

Для того что бы начать запись действий в терминале необходимо ввести команду:

# asciinema rec

Далее можно продолжить работу. Для окончания записи нажать нужно нажать Ctrl+D или ввести exit, затем программа предложит загрузить запись на удалённый сервер:

# exit
exit
~ Asciicast recording finished.
~ Press <Enter> to upload, <Ctrl-C> to cancel.

https://asciinema.org/a/2240qchisau5k3f4zhrnix90j

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

В заметке на сайте есть дополнительная информация о настройке авторизации, управлении своими записями и пример работы Asciinema.

#будничное
Отличная актуальная книга о Zabbix на русском языке. В архиве доступна как сама книга в формате djvu, так и исходники скриптов и примеров использования.

#book #zabbix
Помните писал о том, что в обновлениях Windows появится возможность установить Linux дистрибутивы прямо из Windows Store? Оказывается что ребята таки ввели здесь некоторые ограничения. В рамках этих ограничений в Windows 10 S установка Linux дистрибутивов, некоторых утилит для командной строки и консоли будет запрещена.

Запрет объясняется тем, что эти утилиты и приложения не подходят под концепцию Windows 10 S, которую разработчики в первую очередь представляют как ОС для не подкованных технически пользователей. По мнению Microsoft, ограничение установки "сложных" утилит, есть не что иное как забота о самом пользователе, и о стабильной работе его системы.

Разработчикам, сисадминам и технарям, желающим использовать запрещённые для установки утилиты и приложения, Microsoft рекомендует установить полноценную Windows 10, в которой весь необходимый инструментарий будет доступен для использования.

За подробностями можно сходить в соответствующий блог.
Друзья, в Asterisk 13.15.1 и 14.4.1 разработчиками были устранены опасные уявимости, эксплуатация которых может привести к краху работы ПО. Не забудьте проверить обновления и установить их по мере возможности.

Подрбности http://www.mail-archive.com/[email protected]/msg00667.html

#security #asterisk
А мы с вами давайте сегодня пройдёмся по утилитам для оптимизации и контроля производительности MySQL\MariaDB сервера. Некоторые из них известны широко, другие, к моему удивлению, администраторами используются редко...

1. При установке сервера БД, в директории /usr/share/mysql/ можно найти готовые конфигурационные файлы для разных конфигов сервера. Например владельцы VDS с 512 Mb памяти могут попробовать использовать отсюда конфиг my-small.cnf, либо, если его лимитов будет не достаточно, конфиг my-medium.cnf.

2. На сайте tools.percona.com имеется доступ к генератору конфигов сервера БД. Если предустановленного конфига по какой-то причине оказалось не достаточно, можно авторизоваться на сайте и попробовать сгенерировать конфигурацию здесь.

3. Скрипты для оптимизации mysqltuner.pl и tuning-primer.sh. Первый - популяный сегодня, второй - к сожалению теряющий актуальность для последних версий сервера БД. Принцип работы обоих скриптов аналогичен - скачиваем, запускаем, получаем анализ текущей ситуации и рекомендации по увеличению конкретных параметров в конфиге. Для получения оптимального результата, имеет смысл запускать анализ после того как сервер БД проработал без перезапуска более 24-36 часов.

# wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
# chmod u+x mysqltuner.pl
# ./mysqltuner.pl

# wget https://launchpadlibrarian.net/78745738/tuning-primer.sh
# wget https://launchpadlibrarian.net/251274960/5.7.patch
# patch -p0 -i ./5.7.patch
# chmod u+x ./tuning-primer.sh
# ./tuning-primer.sh


4. Утилиты mytop, mtop, innotop. С помощью этих утилит, мы можем подключится к серверу БД нужным пользователем, при необходимости можем указать конкретную базу данных и посмотреть статистику - какой запрос был сделан, к какой базе, сколько этот запрос выполнялся, от какого хоста, в каком состоянии запрос находится сейчас и т. п. Имеется возможность принудительно завершить любой процесс. Нужные опции утилитам можно передать как через параметры запуска, так и через конфиги. Все три утилиты имеют поддержку ввода команд, которые позволяют администратору использовать весь доступный функционал. Список команд можно получить введя уже в запущеном приложении символ знака вопроса - ?

# mytop -u sysadmin_wtuser -p superpassword -d sysadmin_wtdbase
# mtop --dbuser=root --password=superpassword
# innotop -u root -p superpassword

Расширенная версия заметки (сюда и правда не влезло всё что хотелось показать) доступна на сайте. По возможности рекомендую ознакомиться именно с ней.

#будничное #mariadb #mysql #утилиты
Друзья, кажется мне предстоит пропасть на следующие 36 часов, а пока меня не будет, хотел бы обратиться к вам за помощью вот в каком вопросе - расскажите мне, как вам удобнее получать материал на канале? Удобно ли использование отдельного сайта и чтение статьи в отдельном браузере? Или же было бы лучше публиковать статьи с применением instant view, что бы их можно было читать прямо в приложении? А может быть и вовсе кому-то удобно получать весь материал целиком прямо в ленте канала? Будет здорово если вы проявите активность и поучавствуете в опросе. Это займёт у вас всего минуту времени, а мне поможет определить дальнеший путь развития канала. Заранее благодарен вам.
Как вам удобнее всего получать информацию по теме канала?
anonymous poll

Коротко на канале, подробности в Instant View. – 32
👍👍👍👍👍👍👍 63%

Коротко на канале, подробности на сайте. – 11
👍👍 22%

Статьи целиком прямо на канале. – 8
👍👍 16%

👥 51 people voted so far.
Появилось немного времени и я таки нашёл способ публикации материала в Instant View без использования Telegraph и Medium ресурсов, так что бы контент оставался на собственном сайте, и в то же время вы, друзья мои, смогли бы получить его в удобном для пользователя Telegram виде. Короткая заметка об этом, для того что бы поделиться ею с другими заинтересованными людьми, останется на канале. А вместе с этим сообщением я протестирую новый способ публиковать материал.
Современные технологии и их глубокое проникновение в нашу жизнь, практически не оставляет шансов остаться анонимным условному Васяну, который ведёт переписку с так милой его сердцу условной Алисой. Однако современные же технологии позволяют обеспечить нам достаточный уровень приватности нашего общения и пребывания в сети. Да, условный капитан Рогулькин будет знать, что это тот самый Васян и та самая Алиса контактируют между собой, однако о чём конкретно они переписываются, что конкретно показывают друг другу, и какие ресурсы с открытками и стикерами посещают, капитан Рогулькин знать не будет.

Да, провайдер знает кто наш Вася такой, его паспортные данные, он знает в какое время тот выходит в сеть, где он живёт и в каких платёжных системах у него есть аккаунты, однако провайдеру не доступна сетевая активность Василия. Всё что "видит" провайдер - это подключение по UDP к одному единственному IP адресу, и зашифрованный между ПК Васи и этим IP трафик.

Я уже давно не верю в анонимность в сети, однако верю что определённый уровень приватности можно и нужно сохранить. А с учётом происходящего "бардака", не просто сохранить, а защитить. Например, с помощью использования собственного VPN сервера. Спецы справедливо заметят что это не панацея, что есть много факторов... И они безусловно будут правы. Однако на мой скромный взгляд, это всё равно лучше, чем не делать ничего для защиты своего личного пространства.

Вот такие вот мысли, друзья. Заметка о настройке OpenVPN на собственном сервере прилагается.

#будничное #openvpn #security
По умолчанию, панель ISPmanager 5 позволяет указать для WWW-домена только одну кодировку - UTF-8, однако у администратора есть возможность добавить к данному выбору и другие варианты. Для этого, на сервере достаточно открыть файл /usr/local/mgr5/etc/charset и прописать в нем нужные варианты кодировок. Файл необходимо сохранить, а после перезапустить панель.

# cat /usr/local/mgr5/etc/charset
UTF-8
CP1251
# killall core

Если всё будет сделано верно, при последующем редактировании настроек WWW-домена мы получим возможность указать любую кодировку из списка.

#будничное #ispmanager
Сегодня вечером пришлось заняться вопросом работы нескольких установок MySQL в рамках одного сервера. Хорошей новостью стало то, что ISPmanager 5 с некоторого времени поддерживает такую возможность и позволяет настроить всё необходимое прямо из панели управления. Для одновременной установки доступны версии MySQL 5.5, 5.6, 5.7, MariaDB 10, 10.1. Каждый сервер БД устанавливается в отдельный Docker контейнер и занимает свободный порт в системе, для того что бы обеспечить возможность подключения к нему.

Администратору после такой установки остаётся лишь развернуть БД в нужную инсталляцию MySQL, указать в своих скриптах на какой порт локалхоста необходимо подключиться, и его скрипты сразу начнут работать с нужной версией сервера баз.

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

#будничное #ispmanager #mysql #mariadb
Сегодня принёс Вам достойную внимания системных администраторов книгу - Matotek D., Turnbull J., Lieverdink P. - Pro Linux System Administration, 2nd Edition. Издание 2017 года.

#книга #linux
Иногда проверка и починка базы с помощью mysqlcheck может пройти не совсем удачно, с ошибкой для определённой таблицы в БД:

error : Can't create new tempfile: './testdatabase/phpbb_posts.TMD'
status : Operation failed

В этом случае имеет смысл воспольоваться утилитой myisamchk. Останавливем сервер БД, и чиним нужную нам таблицу следующим образом (пример из CentOS 7):

# systemctl stop mariadb
# myisamchk -r -f /var/lib/mysql/testdatabase/phpbb_posts.MYI
- recovering (with sort) MyISAM-table '/var/lib/mysql/testdatabase/phpbb_posts.MYI'
Data records: 2
- Fixing index 1
# systemctl start mariadb

#будничное #mysql #mariadb
Оказывается, в мире до 80 людей ежечасно нуждаются в помощи с выходом из Vim. История о том, как Stackoverflow помог миллиону специалистов сделать это. 🤓

#забавно #vim
Крис Эванс - эксперт по компьютерной безопасности, опубликовал информацию об уязвимости в пакете ImageMagick. Уязвимость была опробована на почтовом сервисе Yahoo (Им после всех взломов и новостей ещё кто-то пользуется?) - Крис сам себе отправил письмо со специально сформированным изображением во вложении и открыл его предпросмотр через веб-интерфейс почтового сервиса. При открытии предпросмотра, сервером было сформировано изображение, состоящее из данных, оставшихся в памяти при обработке вложений от других пользователей. За найденную уязвимость он получил вознаграждение от компании Yahoo.

Любопытно что в GraphicsMagick (форке ImageMagick) уязвимость была исправлена более года назад, но с согласованием информации об уязвимостях у ребят дела обстоят плохо, что повлияло на ситуацию, и в проекте ImageMagick проблема своевременно не была решена. Сейчас разработчики уже выпустили обновления безопасности, но в репозиториях дистрибутивов обновлённых пакетов пока что нет.

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

#security #imagemagick
Один из клиентов разместил свой сайт на хостинге, где доступен php selector (возможность выбрать версию PHP для аккаунта\домена), однако версии PHP 5.6 и выше были собраны с заданной по умолчанию кодировкой UTF-8. Сайт клиента работал в CP-1251, и при описанных условиях корректно на хостинге не отображался. Очевидные способы решения проблемы с помощью, например, AddDefaultCharset не помогали.

Исправило ситуацию указание в скриптах следующего параметра:

ini_set(default_charset, "");

Кроме этого, можно попробовать сразу же передать в скрипте нужную кодировку:

header("Content-type: text/html; charset=cp1251");

Оба варианта помогут решить проблему работы сайта в случае если его кодировка отличается от той, с которой PHP работает по умолчанию.

#будничное #php
Бывают ситуации, когда нужно увидеть заголовок письма в логе, но заглянув туда, мы обнаруживаем примерно такое...

2017-05-25 13:01:01 1aL6cP-00314X-OH <= [email protected] H=(localhost) [127.0.0.1]:44591 P=smtp S=9778 T="\320\233\321\216\320\261\321\213\320\265 \320\262\320\276\320\277\321\200\320\276\321\201\321\213!" for [email protected]

Тут можно воспользоваться perl'ом и прочитать, что же написано в заголовке вот так:

$ perl -e 'print "\320\233\321\216\320\261\321\213\320\265 \320\262\320\276\320\277\321\200\320\276\321\201\321\213! \n"'
Любые вопросы!

#будничное #perl #почта
Чаще всего, в случае когда требуется обновить версию того или иного ПО на сервере с CentOS, администратор добавляет в систему сторонние репозитории и ставит софт оттуда. Это простой и удобный путь, я сам предпочитаю делать так же, и это снимает кучу проблем и экономит время. Но так можно делать только в случае если к репозиториям есть доверие и если в систему допустимо ставить что-то со стороны.

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

#будничное #centos
Нашёл в закладках отличное видео с примерами полезных для сисадмина инструментов. Длительность - чуть меньше двух часов, но материала даётся достаточно много. Порекомендую его к ознакомлению и вам, друзья.

https://www.youtube.com/watch?v=Y4qT-DPYs_w

#видео #linux
Вот так можно быстро найти все файлы содержащие BOM, который порой так портит жизнь веб-мастерам и поддержке хостера:

grep -lr $'\xEF\xBB\xBF' .

#будничное #bom