*NIX
Подписаться на эту рубрику по RSS
Как в macOS найти файлы, содержащие текст
MaxSite CMS не перестаёт удивлять своими, просто дикими, решениями. Вчера решил покончить с автоматическим формированием заголовков второго уровня в сайдбаре и столкнулся с очередным косяком системы - заголовки с уже прописанными стилями формировались на уровне ядра. Разработчик, почему-то решил, что его видение того, как и что должно выводиться в заголовках будет единственно верным.
Впоследствии, в процессе разборки, выяснилось что в специальном файле шаблона functions.php, с помощью функции mso_set_val(), всё-таки можно переопределять вывод заголовков. Спрашивается зачем было вообще городить этот огород? Причем, хоть как-то отобразить данный момент в документации, по всей видимости, религия не позволяла. Впрочем, отсутствие вменяемой документации, видимо особая "фишка" данной CMS.
Настройка антиспам-фильтра SpamAssassin в связке с Postfix на FreeBSD 11
Сегодня речь пойдёт о настройке антиспам-фильтра SpamAssassin на FreeBSD. К сожалению, активное развитие русскоязычного сообщества по настройке unix серверов, в частности FreeBSD, закончилось где-то в начале 2000-ых и актуальной информации по данной теме сейчас крайне мало. Убедиться в этом не сложно, достаточно посмотреть на даты последних публикаций или ветки форумов. Чуть лучше дела у линуксоидов, но тоже не фонтан. По всей видимости, делиться знаниями и наработками безвозмездно, сейчас никто не желает или просто знаний нет... конечно, это всё печально.
Шифрование файлов с помощью OpenSSL
Иногда бывает нужно зашифровать какой-то архив или отдельный файл, обезопасив таким образом доступ к нему посторонним. Несколько лет назад, я уже рассказывал о хранении шифрованных данных в облаке Яндекс.Диск, тогда рассматривалось создание шифрованного образа диска средствами Mac OS X.
Сегодня, будем шифровать данные с помощью библиотеки OpenSSL, входящей в состав любого *NIX дистрибутива. К сожалению, самый распространённый архиватор tar, не умеет самостоятельно шифровать данные, но мы ему в этом поможем.
Отзыв пользовательских сертификатов OpenVPN на FreeBSD 10/11
Решил дополнить последний пост о настройке OpenVPN сервера на FreeBSD 10/11. В прошлый раз, оставил без внимания вопрос об отзыве пользовательских сертификатов, а ведь данная тема, рано или поздно, встаёт перед любым администратором.
Как вы, наверное, уже знаете, начиная с 10-ой версии FreeBSD изменился процесс создания и управления сертификатами. Ранее для отзыва сертификатов использовался специальный скрипт revoke-full. Отныне, за все действия с сертификатами, в том числе и за отзыв, отвечает один единственный shell-скрипт easyrsa.real, что согласитесь, гораздо удобнее. Пример отзыва сертификата пользователя user01:
переходим в каталог easy-rsa # cd /usr/local/etc/openvpn/easy-rsa удаляем сертификат пользователя user01 из базы # ./easyrsa.real revoke user01 создаем файл с отозванными сертификатами # ./easyrsa.real gen-crl
Осталось скопировать полученный файл crl.pem в каталог с остальными ключами (в моём случае это /usr/local/etc/openvpn/keys/). Также не забудьте в конфиге OpenVPN сервера (server.conf) раскомментировать соответствующую строку о проверке отозванных сертификатов:
crl-verify /usr/local/etc/openvpn/keys/crl.pem
Принудительная отправка deferred почты в Postfix
Решил написать данный пост больше для себя, чтобы не забыть, поскольку подобное вмешательство в работу почтового сервера требуется крайне редко. Когда почтовому серверу (в моем случае postfix) по каким-то причинам не удается отправить исходящую почту, он помещает её в очередь deferred (ожидание), откуда периодически будет пытаться её доставить снова.
Почему такое происходит? Живой пример из практики - косорукие админы (одного весьма крупного предприятия в нашем городе), по одной, ведомой только им причине, выборочно заблокировали часть внешки на файерволе. В итоге, мой сервер мог стучаться к их почтовику до посинения, пополняя свою deferred очередь новыми письмами, а админы не сном не духом. Спросите откуда такая уверенность что рубил не какой-то спам-фильтр? Да это легко проверить, подключившись telnet на 25 порт почтового сервера и не увидев даже приветствия.
Как раз в таких обстоятельствах и бывает нужно ускорить процесс не дожидаясь очередной попытки от сервера. Для немедленной отправки накопившейся почты в postfix имеется специальная команда:
postsuper -r ALL deferred
Мониторинг интернет канала на шлюзе FreeBSD
Давайте разберемся как посмотреть загрузку сетевого интерфейса и выявим кто занимает канал на шлюзе FreeBSD. Для начала узнаем насколько загружен сетевой канал в данный момент времени, не важно интернет это или локальная сеть.
[Решено] Thunderbird. Не удалось подключиться к IMAP-серверу.
Столкнулся сегодня с такой проблемой - в Mozilla Thunderbird при попытке открыть папку "Удаленные" или "Черновики" выходило следующее сообщение:
Не удалось подключиться к IMAP-серверу. Возможно вы превысили ограничение на максимальное число соединений к этому серверу. Если это так, откройте диалоговое окно "Дополнительные параметры IMAP-сервера" и уменьшите число кэшируемых соединений.
Как определить какой DNS сервер использует система?
В продолжение темы про DNS, сегодня хотелось бы рассказать как же проверить какой сервер в действительности отвечает на ваши запросы. Ситуации бывают разные, допустим внешние IP-адреса пингуются, а имена хостов не определяются, или у вас есть сомнения что перед вами действительно тот сайт, который должен быть (не редки случаи когда вирусы подменяют настройки DNS серверов вашего компьютера).
К примеру, при подключении по vpn каналу к одному из серверов, у меня в браузере на локальном компьютере переставали открываться странички. Как оказалось, подставлялся не верный DNS сервер.
Настройка DNS сервера Unbound в FreeBSD 10
В 10-ой версии FreeBSD убрали классический DNS сервер BIND и на его замену предлагается лёгкий кеширующий DNS сервер Unbound в связке с библиотекой LDNS. В отличие от BIND, Unbound имеет маленький размер и высокую скорость работы, к тому же существенно проще в настройке (во всяком случае для роли кэширующего сервера делается вообще играючи).
Если всё-таки потребуется настроить классический BIND 9, его можно уставить из коллекции портов. А вот с 10 версией я так и не понял что произошло... вроде как сильно изменена архитектура и он был полностью переписан на питоне. В общем, кому интересно, полагаю без труда найдут эту информацию.
Выделение статических ip адресов клиентам OpenVPN
Я уже не раз рассказывал как сконфигурировать собственный OpenVPN сервер. Пользователи подключаются по сертификатам и им динамически выдаются свободные ip-адреса из заданного диапазона. Встала задача выдавать некоторым клиентам постоянные ip-адреса, чтобы была возможность подключаться к ним тоже.
Собственно, решается это довольно просто, если знать как. В файл конфигурации сервера OpenVPN нужно добавить буквально пару строк:
client-to-client ifconfig-pool-persist ipp.txt
- client-to-client - разрешаем клиентам видеть друг-друга в сети
- ifconfig-pool-persist ipp.txt - наличие этой строки указывает, что перед тем как выдать клиенту свободный адрес из пула, сервер должен свериться с файлом ipp.txt, в котором прописывается привязка имени пользователя к ip-адресу.
Файл ipp.txt должен иметь следующий формат:
username1,ip-address username2,ip-address username3,ip-address
username1, username2 и username3 соотвествуют именам выданных сертификатов пользователей.
OpenVPN сервер на FreeBSD 10/11
Сегодня при установке OpenVPN сервера на FreeBSD 11 я понял что инструкция по настройке openvpn, которая писалась в далёком 2009 году уже не актуальна - процесс генерации ключей в обновленной EasyRSA 3 версии полностью изменился.
[Решено] Как полностью удалить Wine для последующей "чистой" установки
Продолжим начатую сегодня тему Linux, а то не знаю когда еще дойдут руки до написания заметки. За последнее время Wine (используется для запуска Windows приложений на *nix системах), как и сам Linux, довольно сильно продвинулся и стал заметно дружелюбнее к обычным пользователям, а не только бородатым мужчинам в вытянутых свитерах. Ну последнее уже пережиток прошлого и подобные существа хоть еще и встречаются, но это уже скорее вымирающий вид.
Ладно, отвлёкся... короче, хоть всё уже и становится в Linux более-менее нарядно, однако без помощи терминала порой не обойтись. Wine не исключение - не редки весьма странные глюки, побороть которые можно только полной переустановкой пакета.
[Решено] Как в Thunderbird вложить файл из сетевой папки Windows? Подключаем сетевой диск Windows в Linux.
Сперва обозначу суть проблемы - файловом менеджер Thunderbird не видит сетевых папок в Linux Mint / Ubuntu (другие дистрибутивы не проверял), соотвественно нет возможности прикреплять файлы к сообщениям из расшаренных сетевых папок Windows. Вместо самого файла в поле вложения прописывается лишь путь к нему "smb://сервер/папка/файл.расширение" и при отправке сообщения выдается ошибка с просьбой проверить имеете ли вы доступ к файлу.
Конечно, можно просто скопировать необходимые для отправки файлы на свой компьютер, однако проделывать данную операцию постоянно довольно хлопотно. Скрадывать драгоценные минуты пользователей от общения в соцсетях на подобные "извращения" с файлами не наш метод. Придется выходить из сложившейся ситуации по другому.
[Решено] Установка Linux второй системой с Windows 8/8.1/10 на ноутбук с UEFI
Сегодня расскажу про установку Linux второй системой к уже имеющейся Windows 8/8.1 или 10 на ноутбук с UEFI с помощью загрузочной USB-флешки. На данный момент это будет, наверное, уникальное руководство, так как ничего вразумительного на просторах рунета по данной теме мне отыскать не удалось. Несмотря на бурное развитие интернета, различных сообществ и форумов по Linux, реально полезную информацию в куче "псевдоумных" комментариев найти сейчас крайне сложно.
Remmina ошибка "Невозможно подключиться к серверу RDP"
Уже не однократно пришлось столкнуться с проблемой подключения Remmina по RDP к серверам Windows. Попытки установить соединение приводят к ошибке "Невозможно подключиться к серверу RDP".
Не секрет, что для работы по протоколу RDP Remmina использует freerdp, и все хосты с которыми хоть раз устанавливалось соединение добавляются в файл ~/.freerdp/known_hosts, аналогично ssh, собственно получаем и проблему типичную для ssh. При смене сертификата или ключа нам требуется удалить старую запись о сервере.
Если у вас не 100500 серверов, то можно просто удалить каталог ~/.freerdp
rm -r ~/.freerdp
Бывает помимо каталога ~/.freerdp, требуется также удалить все файлы из каталога ~/.remmina
Создание локальной копии сайта
Вообще тема крайне специфичная, впрочем как и решение... но может кому пригодится. И так, захотелось тут одним заказчикам странного - сделать локальную копию сайта для записи на флешку или на диск. Ну надо так надо... другой вопрос как это сделать?
Ковыряться вручную сомнительное удовольствие, не наш метод, да и искать специализированный софт (помню на заре интернета, когда доступ был жутко дорогой существовали всякие offline-браузеры под Windows) совсем не радовало, не актуально это сейчас.
И тут меня посетила замечательная идея воспользоваться консольной программой wget. Постоянно пользуюсь ею на серверах FreeBSD. Если вас пугает само слово FreeBSD, то wget легко устанавливается или сразу идет в составе практически любого Linux, можно поставить и на Мас, например через MacPorts (sudo port install wget).
Обновление Linux Mint. Хеш сумма не совпадает
Последнее время редко балую вниманием любителей Linux. Следует заметить, что сейчас Linux на десктопах встречается всё чаще и уже не является системой для гиков и прочих альтернативщиков. С его установкой, в большинстве случаев, теперь справится даже новичок в мире компьютеров, всё стало предельно просто. И у этой медали открылась другая сторона - общий уровень подготовки пользователей снизился.
Сегодня будет совсем короткая заметка о том как важно уметь отличать баги от недоступности сервера с репозиторием. На примере Linux Mint покажу простую причину по которой могут не обновляться программы или сама система.
При обновлении Linux пишет что Не удалось получить такой-то пакет. Хеш сумма не совпадает.
Как сделать загрузочную USB флешку с FreeBSD на Mac OS
Сегодня будет экзотика - расскажу как сделать загрузочную USB флешку с FreeBSD на Mac OS X. Да нормальная тема, учитывая что понадобилось организовать OpenVPN сервер и хочется стабильности - один раз настроил и забыл, так как DSR-500N о котором писал ранее, проявил себя не с лучшей стороны, не пережив аварийного отключения электричества.
Железка, на которой будет крутиться данный сервер не менее экзотическая - Lenovo IdeaCentre Q190, вот она:
Для начала качаем дистрибутив с www.freebsd.org. На данный момент имеем последний FreeBSD 10.1-RELEASE, выбираем файл в имени которого присутствует memstick (для платформы i386 это будет FreeBSD-10.1-RELEASE-i386-memstick.img).
Неверная кодировка при распаковке архивов ZIP и RAR
Снова речь пойдет о уже довольно старенькой, но все еще популярной Ubuntu 10.04. Проблема возникает при распаковке RAR или ZIP-архивов, полученных от win-пользователей - вместо русских букв имеем "крякозяблики".
Исправить ситуацию довольно просто, установив корректный p7zip:
$ sudo add-apt-repository ppa:frol/zip-i18n
$ sudo apt-get update
$ sudo apt-get install libnatspec0 p7zip-full
Теперь русские имена файлов в RAR и ZIP-архивах должны отображаться правильно.
CanoScan LiDE 110 в Ubuntu 10.04
Статья про очередную экзотику, но ведь и об этом кому-то надо писать, не всё же поднимать популярные темы. Это скорее даже не статья, а просто заметка.
Значит, имеем сканер Canon CanoScan LiDE 110, Ubuntu 10.04 и огромное желание заставить их работать вместе. В свежей версии Ubuntu всё работает "из коробки", так что статья актуальна именно для старенькой версии 10.04, 10.10 или для любого иного схожего дистрибутива Linux.
Для начала проверим определение сканера системой с помощью команд lsusb или scanimage -L. Примерный вывод команды lsusb приведен ниже (остальные usb устройства для наглядности не показаны):
$ lsusb Bus 001 Device 004: ID 04a9:1909 Canon, Inc.
Однако команда scanimage -L ничего оптимистичного не выдала. Отсюда делаем вывод, что физически система его видит, но утилита Sane, в той версии, которую имеем в дистрибутиве, его не поддерживает. Необходимо пересобрать некоторые библиотеки и установить последнюю версию Sane, чем сейчас и займемся:
$ sudo add-apt-repository ppa:robert-ancell/sane-backends $ sudo apt-get update $ sudo apt-get install libsane sane-utils