Конвертация PEM RSA ключей в формат JWK

Статья о том как сконвертировать PEM RSA ключи в формат JWK (JSON Web Key).

Для начала установим Node.js, выполнив следующие действия в консоли:

curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt-get install -y nodejs

В этом примере я выбрал версию 13.x, т.к. она полностью подходит для этого примера и является самой свежей на момент написания этого руководства.

nodejs -v

Вывод последней команды должен содержать примерно следующее:

v13.7.0
Continue reading

Certbot, бесплатный SSL сертификат

В этой статье я хочу рассказать вам о Certbot.

Certbot это бесплатный open source инструмент, предназначенный для автоматизации выдачи и использования SSL сертификатов от компании Let’s Encrypt прямо из консоли сервера. Он создан некоммерческой калифорнийской организацией Electronic Frontier Foundation, которая «защищает цифровую независимость, свободу слова и инновации» (цитата). Именно благодаря этому сервису и сертификату от Let’s Encrypt можно начать использовать HTTPS протокол на своём сайте, при этом сам сертификат будет бесплатным.

Инструмент позволяет не только получить и установить сертификат SSL, но так же и обеспечить его автоматическое обновление по планировщику задач CRON.

Continue reading

HipChat не работает в Ubuntu 18.04

Не работает HipChat после последнего обновления Ubuntu 18.04? Ошибка описана в https://jira.atlassian.com/browse/HCPUB-6249

Исправить проблему можно так:
sudo rm /opt/HipChat4/lib/libcrypto.so*
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /opt/HipChat4/lib/libcrypto.so.1.0.0
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /opt/HipChat4/lib/libssl.so.1.0.0
sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /opt/HipChat4/lib/libssl.so

Перезапускаем hipchat4 клиент.

HipChat не работает в Ubuntu 17.10

Если ты это читаешь, то скорее всего у тебя не работает HipChat после последнего обновления Ubuntu. Ошибка описана в https://bugreports.qt.io/browse/QTBUG-57709

Исправить проблему можно отредактировав файл:
sudo vim /opt/HipChat4/bin/QtWebEngineProcess

Следует заменить строку (4я строка от начала файла):
arguments=$@
на строку:
arguments="$@ --disable-seccomp-filter-sandbox"

Сохраняем изменения и запускаем hipchat4 клиент.

Часы в панели Ubuntu 17.10

После установки обновления Ubuntu 17.10 включить отображение часов в верхней панели задач можно при помощи утилиты gnome-tweak-tool.

Установить утилиту очень просто, открываем терминал ctrl+alt+t, и выполняем команду:
sudo apt-get install gnome-tweak-tool

Запускаем приложение Tweaks, переключаемся на вкладку «Top Bar» и активируем «Date» и/или «Seconds» в блоке «Clock», как показано на скриншоте ниже.

Включить часы в панели Ubuntu

Размер директории в консоли Linux

Как узнать размер директорий в консоли Linux? В этой статье показаны несколько простых примеров на каждый день.

Если нужно узнать размер файла или директории:
du -sh _filename_

В примере выше использованы ключи:
-s, —summarize (показать суммарно с учётом вложенных)
-h, —human-readable (показать в легко читаемом формате, например: 1K, 234M, 2G)

Самая распространённая команда получения списка директорий в *nix:
du -sh *
Она покажет список всех файлов, директорий в текущей директории в human readable формате. Естественно, будет показана информация только о тех объектах, к которым у пользователя есть доступ.
Continue reading

Error mounting /dev/sdb1 в Ubuntu

Не редко пользователи ОС Ubuntu при подключении USB с файловой системой NTFS накопителя могут наблюдать ошибку: «Error mounting /dev/sdb1» или «Failed to mount ‘/dev/sdb1’: Input/output error».

Каджый файл в системе NTFS имеет соответсвующую запись в MFT (Master File Table / Основная Файловая Таблица). NTFS резервирует первые 16 записей MFT для хранения специальной информации. Первая запись описывает непосредственно сам MFT, за ней идёт описание резервной MFT mirror записи. Если первая запись в MFT будет повреждена, то NTFS будет читать вторую запись, чтобы найти MFT mirror, первая запись которой идентична первой записи в MFT. Месторасположение MFT и MFT mirror прописано в boot sector диска.
Источник: NTFS.com
Continue reading

Читаем markdown файлы в консоли терминала

Зачастую устанавливая новый программный пакет, расширение или библиотеку, можно встретить файлы с расширением .md (Markdown). Markdown — это простой и в то же время лёгкий язык разметки текста. Его можно легко конвертировать в HTML и другие форматы разметки. Удобно читать такие файлы не отрываясь от консоли.

Вот несколько простых шагов чтобы иметь возможность быстро прочитать такие файлы в терминале Ubuntu. Команды легко адаптировать для любой другой операционной системы.
Continue reading

Просмотр логов сервера в реальном времени

Это очень полезно для отслеживания или отладки логов доступа, логов ошибок, в режиме реального времени. На помощь приходит могучая функция tail:

tail -f /var/www/site.loc/access.log

Всего один ключ «f», а столько пользы.

Можно совместить с первоначальным количеством строк вывода (5) и мониторить системный лог:

tail -fn5 /var/log/syslog

Прервать процесс просмотра можно сочетанием клавиш Ctrl + C. В POSIX-системе это сочетание означает сигнал SIGINT.

Поиск ближайшего числа в последовательности

Дана упорядоченная последовательность конечного числа элементов, так же известная в математике как «кортеж», (a1,…,an). Все элементы этого множества — целые числа >= 0. Нужно написать функцию, которая на входе будет принимать два аргумента: указанное множество и один элемент, который является целым числом >= 0. На выходе функция должна возвратить индекс элемента множества, который равен указанному числу или наиболее близок к нему (в порядке декремента).

Пример работы функции на языке PHP может быть такой:

$a = array(1,3,4,5,7,13,14,18,20,24,25,29,30,33,51,78,99);
$b = 19;

function func($a, $b) {
    // тело функции
}

echo func($a, $b); // выведет "7" (индекс числа "18")

Continue reading