Скрипт динамического обновления зон DNS для работы через Яндекс API

Однажды возникла необходимость доступа из интернета через свой маршрутизатор к домашней сети. Пришлось вспомнить про динамический DNS, о котором я много слышал, но ни разу не применял на практике. Мои домены делегированы на Яндекс, поэтому всё предельно упрощается – нужно просто воспользоваться API Яндекса для обновления DNS-записи, привязанной к маршрутизатору. …

Далее...

Конфигурирование и подгрузка модулей Perl в Linux

Данную заметку меня побудили написать определённые сложности при выполнении одиночного скрипта на языке Perl. Казалось бы, интерпретатор языка уже установлен – бери и пользуйся. Да не тут то было. Хочу избавить других от грабель, по которым я ходил целый вечер. Начну с того, что Perl построен по модульной архитектуре и …

Далее...

Пример настройки Iptables с помощью TCP-флагов и модуля conntrack

В этой небольшой заметке я расскажу о принципах работы брандмауэра Iptables на примере фильтрации пакетов с помощью TCP-флагов и с помощью модуля определения состояний conntrack. Она рассчитана на тех, кто уже знаком с Iptables и желает глубже понять логику его функционирования. Разрешение WEB-трафика с помощью TCP-флагов Допустим, что на нашем …

Далее...

Подробный анализ прав доступа к папкам и файлам в Linux

В Linux владелец и права на объекты файловой системы задаются и определяются рядом факторов, которые хорошо поддаются систематизации и не допускают неоднозначности толкования. Давайте по-порядку разберёмся с ними на конкретных примерах. Я думаю, что многие, прочитав эту статью, будут по крайней мере удивлены, что с правами в Linux всё обстоит …

Далее...

SAMBA: организация доступа к подпапкам через единую точку входа

Задача: обеспечить такой общий доступ к файлам с помощью SAMBA, чтобы люди с других машин могли через специальную папку common заходить в только им разрешённые подпапки этой директории folderA и folderB, причём и у файлов и у папок требовалось обеспечить права по маске 770. То есть пользователи одной папки должны …

Далее...

Вычисление прав по маске Umask

По канонам Unix вновь создаваемым файлам и папкам присваиваются права по умолчанию в зависимости от маски umask, которая назначается каждому пользователю в его конфигурационном файле bash_profile. Узнать текущее значение umask можно одноимённой командой: # umask 0022 Прежде чем переходить непосредственно к рассмотрению маски, отмечу, что максимально возможные права для файлов …

Далее...

Расширение прав в Linux с помощью Posix ACL

Как известно, традиционный для Unix подход в организации прав доступа в виде User:Group:Others вкупе с тремя дополнительными битами SUID, GUID и Sticky Bit не дают той гибкости, которая часто бывает нужна для решения конкретных задач. Слава Богу, для более тонкой настройки прав уже давно существует решение под названием Posix ACL, …

Далее...

Настройка утилиты screen в Linux

Создатели Screen называют утилиту менеджером (псевдо)терминалов. Идея в том, чтобы вместо нескольких терминалов, открытых для одновременной работы с разными пользовательскими программами например по ssh, обеспечить доступ к этим терминалам из одного единственного терминала, как если бы мы работали в «настоящем» TTY и переключались из одного в другой клавишами Alt-Fn.

Далее...

Скрипт локализации серверной Ubuntu

Если вам принципиально важен русский язык в консоли серверной Ubuntu, то систему необходимо локализовать, поскольку по умолчанию в Ubuntu установлен английский язык. Текущие языковые настройки консоли (так называемую «локаль») в любой момент можно определить с помощью команды locale:

Далее...

Решение проблемы с несохранением вложенных меню в WordPress и настроек JCE в Joomla!

Не так давно один из клиентов моего хостинга пожаловался на невозможность сохранения вложенных меню на своём сайте WordPress. В качестве возможной причины он назвал слишком малое значение параметра max_input_vars в PHP. Проверка показала, что в настройках свежеустановленного PHP это значение по умолчанию равно 1000, тогда как для стабильной работы сайтов …

Далее...

Команда «.» (точка) в Linux

Команда «.» (точка) часто используется в шелл-скриптах, однако не все знают, что это синоним команды source, встроенной в оболочку bash. Обычно говорят, что она используется для включения (подключения, «инклудинга») неких внешних файлов внутри скрипта. Рассмотрим в чём заключается суть такого подключения на примере файла .bash_profile:

Далее...

Удаление ненужного ядра одной строкой в Ubuntu

Однажы после установки очередной серверной Ubuntu 14.04 я обновил ядро и решил удалить файлы старого ядра, которые занимали изрядно много места. Обычно в этом случае идут в каталог /boot, узнают версии файлов, прописывают их в командной строке, одним словом всё очень муторно и неудобно. Я задался целью минимизировать процедуру удаления …

Далее...

Планировщики Cron и Anacron

В Linux (и в целом в Unix) предусмотрены два планировщика запуска скриптов по расписанию — Cron (синхронный) и Anacron (асинхронный или анахроничный). Если Cron предназначен для периодического запуска задач в заданный МОМЕНТ времени, то Anacron выполняет задачи в указанный ИНТЕРВАЛ времени.

Далее...