Роман Теличко

Заметки веб-разработчика/админа

Категория Администрирование

Создаём SOCKS 5 прокси с помощью SSH-соединения через удалённый сервер в Linux

// Июль 30, 2013 | 16909 просмотров | комментариев (0)

Cоздать SOCKS 5 прокси довольно просто. Достаточно выполнить команду по следующей схеме:

ssh -f -C2qTnN -D < порт> < удаленный_пользователь>@< удаленный_сервер>

Где
-f Запросит ssh перейти в фоновый режим только перед выполнением команды.
-C Включит сжатие всех данных (включая stdin, stdout, stderr и данные для перенаправленных Х11 и TCP/IP соединений).
-2 Принуждает ssh использовать только протокол версии 2.
-q Тихий режим. Подавляет все предупреждения и диагностические сообщения. Будут отображены только фатальные ошибки.
-T Отменить переназначение терминала.
-n Перенаправляет стандартный ввод из /dev/null (фактически, предотвращает чтение из стандартного ввода).
-N Не выполнять удаленную команду.
-D [локальный IP : ] порт
Читать далее…

Что будет если выполнить rm -Rf / в Линуксе?

// Июль 10, 2013 | 6864 просмотров | комментариев (0)

Как известно, команда удаления всех данных рекурсивно вниз без задавания лишних вопросов для заданной папки в Линукс выглядит как rm -Rf .
И тут возникает вопрос:
«А что будет если такой папкой будет корневой каталог системы (/)?»
Читать далее…

PostgreSQL 9.2+ в Ubuntu 13.04+

// Июль 3, 2013 | 531 просмотров | комментариев (0)

Добавляем в /etc/apt/sources.list адрес к репозиторию с последним PostgreSQL:

sudo -s
echo 'deb https://apt.postgresql.org/pub/repos/apt/ precise-pgdg main' >> /etc/apt/sources.list

Получаем волшебный ключик:

sudo wget --quiet -O - https://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc|sudo apt-key add -

И теперь всё просто:

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

И можно поставить, если у вас ещё не было:

sudo apt-get install postgresql-9.2

Логирование PHP скриптов отправляющих почту

// Июнь 16, 2013 | 12724 просмотров | комментариев (0)

Сегодня я расскажу как можно вести лог скриптов, что отправляют почту методами PHP.
Это удобно, если у вас на сервере поселился спаммер и вы не знаете где его искать, т.к. сами пути запускающих скриптов по-умолчанию не падают в /var/log/syslog или в /var/log/mail.log. Читать далее…

Команды управления пакетным фильтром pf

// Июнь 4, 2013 | 8702 просмотров | комментариев (0)

Наткнулся на список команд для управлением пакетным фильтром (фаерволом) pf.

pfctl -d выключить пакетный фильтр
pfctl -e включить пакетный фильтр
 
pfctl -f /etc/pf.conf загрузить конфиг из /etc/pf.conf
pfctl -n -f /etc/pf.conf проверить на ошибки /etc/pf.conf, но не загружать его
pfctl -R -f /etc/pf.conf загрузить только правила фитрации из /etc/pf.conf
pfctl -N -f /etc/pf.conf загрузить только правила NAT из /etc/pf.conf
pfctl -O -f /etc/pf.conf загрузить только опции из /etc/pf.conf
 
pfctl -F all сбросить всё
pfctl -F rules сбросить только правила фильтрации
pfctl -F queue сбросить только очереди
pfctl -F nat сбросить правила NAT
pfctl -F info сбросить всю статистику
pfctl -z clear очистить все счётчики
 
pfctl -s rules показать текущие правила фильтрации
pfctl -v -s rules show показать информацию по каждому правилу фильтрации
pfctl -vvsr показать текущие правила фильтрации с добавлением номера правила
pfctl -v -s nat показать текущие правила NAT отдельно по каждому правилу
pfctl -s nat -i xl1 показать правила NAT для интерфейса xl1
pfctl -s queue показать очереди
pfctl -s state показать текущее состояние таблиц
pfctl -s info показать статистику правил и состояние счётчиков
pfctl -s all показать все что можно
 
pfctl -t testtable -T show просмотр содержимого таблицы testtable
pfctl -t testtable -T show -v просмотр более подробной статистики по каждому адресу таблицы testtable
pfctl -t testtable -T add 192.168.1.1 добавление адреса 192.168.1.1 в таблицу testtable
pfctl -t testtable -T delete 192.168.1.1 удаление адреса 192.168.1.1 из таблицы testtable
pfctl -t testtable -T flush очистить таблицу testtable

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

// Июнь 1, 2013 | 1311 просмотров | комментариев (0)

Для этих целей существует отличная программа convmv.
Ставится она из репозитория довольно просто:

sudo apt-get install convmv

После чего вам просто необходимо указать папку, в которой необходимо совершить переименование файлов из одной кодировке в другую.
Например, мне нужно переименовать файлы из KOI8-R в UTF-8 рекурсивно вниз.
Делается это так:

convmv -r --notest -f koi8-r -t utf-8 Folder/

Опция --notest отвечает за переименование.
Т.е. без этой опции вы просто сделаете тест и посмотрите как файлы будут «выглядеть» в нужной кодировке.

Удачи.

Как узнать версию Ubuntu и кодовое имя из командной строки

// Май 10, 2013 | 1237 просмотров | комментариев (0)

Иногда возникает необходимость определить версию Ubuntu. Делается это с помощью команды lsb_release, что предназначена для вывода информации о текущей версии дистрибутива Ubuntu.

lsb_release -a

Что для версии Ubuntu 13.04 выведет следующее:

No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 13.04
Release:	13.04
Codename:	raring

Как узнать статистику использования сетевого траффика в Linux

// Апрель 12, 2013 | 1655 просмотров | комментариев (0)

Существует отличная консольная утилита для отображения информации о количестве переданной и принятой информацией по каждому сетевому интерфейсу с разбивкой по датам и визуальным отображением в как в консольном, так и графическом режимах. Имя этой утилиты — vnstat.
Читать далее…

PostgreSQL. Список таблиц с очень частой записью на диск

// Апрель 5, 2013 | 821 просмотров | комментариев (0)

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

SELECT
    schemaname                                      AS schema,  -- схема
    relname                                         AS table,   -- таблица
    pg_size_pretty( pg_relation_size(relid) )       AS tsize,   -- размер
    n_tup_upd + n_tup_ins + n_tup_del               AS write,   -- операций записи (I/U/D)
    seq_scan + idx_scan                             AS read,    -- всего чтений
    n_tup_ins                                       AS ins,     -- операции INSERT
    n_tup_upd                                       AS upd,     -- операции UPDATE
    n_tup_del                                       AS del      -- операции DELETE
FROM
    pg_stat_user_tables
ORDER BY
    ( n_tup_upd + n_tup_ins + n_tup_del ) DESC

Кстати, так вы можете получить список всех индексов, а так — список неиспользуемых индексов.

Как проверить диск на ошибки и бэд-сектора в Linux

// Апрель 3, 2013 | 87905 просмотров | комментариев (1)

Примером хорошего тона и здравого смысла является периодическая проверка диска на битые сектора (бэд-сектора, badblocks) и обычная проверка диска на ошибки записи и т.п.
Разберёмся что такое битые сектора.
Любимая Википедия говорит следующее:

Бэд-сектор, Повреждённый сектор — сбойный (не читающийся) или ненадежный сектор диска; кластер, содержащий сбойные сектора, или кластер помеченный таковым в структурах файловой системы операционной системой.

Следовательно, если в битом секторе были данные, то их ещё возможно восстановить, пока битых секторов не стало слишком много для конкретного файла.
Читать далее…