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

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

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

Буст канала: https://yangx.top/sysadminnotes?boost
加入频道
По умолчанию, панель 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
Для того что бы WHM/cPanel панель была установлена с Easyapache 3, а не с 4 версией, как это делается сейчас по умолчанию, необходимо до установки панели создать файл:

touch /etc/install_legacy_ea3_instead_of_ea4

Для отката версии Easyapache на уже установленной панели, необходимо выполнить следующее:

mkdir -p /usr/local/apache.ea3/{conf,htdocs,bin}
/scripts/migrate_ea3_to_ea4 --revert --run

#cpanel #easyapache
📓 Продолжаем разговор об утилитах, которые полезно применять как просто при проверке безопасности на сервере, так и при проверке сервера, когда уже точно известно что он был взломан. Сегодня немного примеров использования chkrootkit.

Чуть раньше уже рассматривали работу таких утилит как:

📎 Maldet
📎 Lynis

#будничное #security #chkrootkit
В архиве ниже вы найдёте пять отличных шпаргалок по Docker'у - принципы работы, подсказки по командам, написание конфига и вопросы безопасности при работе с контейнером.

#docker #шпаргалки
На серверах с Cloudlinux иногда требуется выполнить реинициализацию CageFS (сломался сам CageFS, или PHP Selector, например). Практика показала - важно сделать её правильно, во избежание ещё более серьёзной поломки. Последовательность реинициализации вот такая:

# cagefsctl --unmount-all
# cagefsctl --disable-all
# cagefsctl --reinit
# cagefsctl --enable-all
# cagefsctl --force-update

#будничное #cagefs #cloudlinux
Не смотря на то, что проблема в первую очередь упоминается в рассылке Gentoo, не могу не обратить на неё ваше внимание, друзья - в sudo была обнаружена уязвимость, позволяющая повысить привелегии пользователя. Подробности по ссылке, и в прикреплённом ниже PDF. Берегите свои данные и не забывайте обновляться.

#security #sudo