30 сент. 2009 г.

FreeBSD. Блокировка пользователя

Заблокировать пользователя во FreeBSD можно следующим способом:
vipw
Поставить любой символ, например звездочку, во втором поле - перед хешем пароля.

25 сент. 2009 г.

Mint (Ubuntu). VNC-viewer.

До недавних пор пользовал в качестве VNC-клиента программку xtightvncviewer. Сегодня попробовал xvnc4viewer. Понравилось гораздо больше. У первой нагрузка на сервер была больше и был один неприятный глюк. При уменьшении клиентского окна полосы прокрутки работали только в одну сторону. В обратную не хотели.

Linux. Однострочники

Узнать версию дистрибутива Linux:

cat `ls /etc/*{-,_}{release,version} 2>/dev/null | head -n 1`

Утро!

Я знаю, почему человек зевает! Там, где должен быть кофе, образуется вакуум, который всасывает в себя нижнюю челюсть!

18 сент. 2009 г.

Сбор статистики по загрузке линий CO на АТС Panasonic KX TDA-200

На днях понадобилось собрать статистику по CO-линиям АТС Panasonic KX TDA-200. Лог звонков ведется постоянно. Следующей строкой считается количество исходящих звонков по каждой из CO и выводится их количество:

cat capture.txt | grep -v "<I>" | awk '{print $4}' | sort -n | uniq -c | sed -e 's/^\s*//g' | tail -n +3


Выводится примерно такая табличка:

36 01
37 02
37 03
40 04
38 05
37 06
43 07
41 08
31 09
31 10
38 11
43 12
40 13
41 14
41 15
238 16
35 20
41 21
232 22
218 24
38 25
42 26
42 27

, где первый столбец - количество звонков, второй - номер CO. Собрав такую статистику за несколько дней получаем визуальную нагрузку CO-шек исходящими звонками.

16 сент. 2009 г.

Оказывается, Килобайт (КБ) не равен 1024 байт!

О как... Оказывается, Килобайт (КБ) не равен 1024 байт! Ну, и, соответственно, МБ, ГБ, ТБ и т.д. В этой статье Википедии подробно рассказывается почему и как правильно писать двоичные килобайты, мегабайты и т.д. В двух словах - приставки кило, мега, тера, пета и т.д. указывают на разрядности десятичных чисел, то есть кило = 103, мега = 106, гига = 109. А для описания двоичных величин существует ГОСТ 8.417-2002, согласно которому должны использоваться двоичные приставки КиБ (кибит), МиБ (мибит) и т.д. Причина необходимости данного стандарта - погрешности при использовании десятичных разрядностей в двоичных размерностях. На гигабайтах она составляет 7.37%.

Желейные окошки KDE

Я знаю откуда появились желейные окошки в KDE. Точнее, откуда появилась мысль их сделать :).

В Opera Browser встроен поиск по сайту ВКонтакте.ру

В штатном поиске в Опере появился поиск по ВКонтакте. Подохреваю, что в англоязычной локализации там размещен FaceBook, но и это, имхо, знаковый показатель.

15 сент. 2009 г.

Anti-SSH Brootforce

Простые правила для защиты от брутфорса по SSH:

iptables -I INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
iptables -I INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 5 --name DEFAULT --rsource -j DROP


Взято отсюда.

14 сент. 2009 г.

Скрипт резервного копирования файлов

Вот такой скрипт наваял, чтобы быстро и удобно бакапить файлы перед их изменением:
#!/usr/bin/bash
BKPDIR=`date +"%Y-%m-%d"`
BKPPREFIX=`date +"%Y-%m-%d_%H-%M-%S_"`
myhome=`echo ~`
curdir="$myhome/backups/$BKPDIR"
echo "making $curdir"
mkdir -p $curdir
echo "copy $1 to $curdir/$BKPPREFIX`basename $1`.bkp"
cp $1 $curdir/$BKPPREFIX`basename $1`.bkp


Скрипт копирует переданный ему файл в ~/backups/[текущая дата]/[текущая дата+время]_[имя файла].bkp текущего пользователя.

Добавил его в /usr/local/bin и пользую перед каждым изменением конфигов.

Panasonic TDA-100/200. Мануал по программированию

Хороший мануал по программированию АТС Panasonic TDA-100/200 выложен на сайте компании Амитек. Понятно написано, с картинками, разукрашками :)
На всякий случай - вот:
Часть 1
Часть 2
Часть 3

12 сент. 2009 г.

Баннизмы

Я всегда подозревал что-то подобное про IBM :) Не зря их называют BigBlue...

10 сент. 2009 г.

Robtex - швейцарский нож для интернет-информации

Наткнулся на сервис "Robtex swiss army knife". Сервис позволяет получить разнообразную информацию о заданном адресе - многих параметров я просто не знаю и не имел о них представления...

Удобности для меня:

  • Shared - с какими доменами введенный адрес/домен соседствует.
  • Graph - графическое отображение взаимосвязей записи домена.
  • Whois - whois, собственно...
  • Contacts - отображаются контактные данные, присутствующие в описании домена.
  • BlackList - информация о наличии домена в черных списках всияких спам-листов.


В общем, действительно почти полный набор для анализа домена. Вкупе с www.nwtools.com, imho, составляют очень удобный наборчик интернетовских утилит.

9 сент. 2009 г.

8 сент. 2009 г.

Укртелеком меняет правила набора междугородних и международных номеров

Вот:


Новий порядок набору міжміських та міжнародних номерів
Згідно з Наказом Міністерства транспорту та зв’язку України від 29.09.2008 №1200 "Про затвердження Плану переходу на перспективну систему нумерації телефонної мережі загального користування України" 14 жовтня 2009 року змінюється порядок набору міжміських та міжнародних номерів для абонентів мобільного та фіксованого зв’язку. Щоб вийти на міжміську телефонну мережу, потрібно замість міжміського префікса "8" набирати префікс "0", а для виходу на міжнародну телефонну мережу замість міжнародного префікса "8-10" – префікс "0-0".

Наприклад, щоб зателефонувати на міський телефон до Маріуполя, слід набирати номер наступним чином:
0 – Код міста (без першої цифри "0" в існуючому коді ) – Номер телефону абонента (0-629-123456).

Аналогічний порядок набору діє при здійсненні дзвінків на номери абонентів мобільних операторів України:
0 – Код мережі оператора (без першої цифри "0" в існуючому коді ) – Номер телефону абонента (0-67-1234567).
Для абонентів мобільного зв’язку порядок набору міжміських номерів у міжнародному форматі (через "+380") зберігається.

За кордон (міжнародний дзвінок):
0 – 0 – Код країни – Код міста/Мережі оператора – Номер телефону абонента

Наприклад, телефонуючи на міський телефон до Москви, слід набирати 0-0-7-495-1234567.
Для абонентів мобільного зв’язку порядок набору міжнародних номерів через "+" зберігається.
Зверніть, будь ласка, увагу: для Київської області вводиться новий власний код 45 замість коду 044. Наприклад, телефонуючи до м. Бровари, слід набирати 0-4594 та номер телефону абонента.



Вообще, как по мне - это жопа. Это ж сколько работы людям по исправлению телефонных книг в телефонах, наладонниках, компах?!...

Linux, FreeBSD. Установка MRTG

На нескольких машинах уже поставил MRG - удобный набор Perl-скриптов для построения графиков по некоторым данным. Данные могут быть любыми: входящий/исходящий траффик сетевого интерфейса, процент загрузки процессора, количество пользователей в системе, объемы данных на дисках и все, что только придет в голову. Главное, чтобы эти данные выводились четырьмя числами - значения входящего и исходящего траффика (не сетевого, а траффика данных в данном потоке) и uptime контролируемой системы. Данные преобразуются в настраиваемые графики из двух потоков (входящий и исходящий). Данные отображаются в разрезе суток, недели, месяца и года.
В общем, про MRTG написано много. Но я при его установке столкнулся с тремя сложностями.

1. Установка в Slackware Linux. Сборка пакета на всех машинах оканчивалась сообщением об отсутствии JPG-библиотек. Бился, пока не нашел описание проблемы... в документации :). Не, мануал по инсталляции я читал перед установкой. Но этот момент пропустил. Этой ошибки не возникает, если собирать пакет и необходимые библиотеки именно так, как указано в документации. То есть библиотеки собираются, но не инсталлируются. Конечное дефолтное конфигурирование происходит командой

./configure --prefix=/usr/local/mrtg-2 \
--with-gd=/usr/local/src/gd \
--with-z=/usr/local/src/zlib \
--with-png=/usr/local/src/libpng

, если, конечно, не нужны другие опции...

2. Установка во FreeBSD. Там всё решилось установкой из портов.

3. Ну, и регулярно возникала ошибка при запуске indexmaker (построитель index.html для начальной страницы просмотра графиков), говорящая о невозможности найти модуль Pod, которая разрешилась удалением соответствующей директории из etc/mrtg-2/ и доустановкой оного пакета по примеру этой заметки.

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

7 сент. 2009 г.

Perl. Инсталляция модулей

Модули в Perl добавляются следующим образом:

# perl -MCPAN -e shell


Затем:

cpan> install Bundle::CPAN

6 сент. 2009 г.

Дети глаголят.

Сидим на кухне. По кухне летает муха и мешает спокойно есть.
Жена:
- Вот эта муха надоедливая...
Малый (6 лет):
- Она прилетела к братику. А он сдох.
Мы в отпаде...
Малый после непродолжительной паузы
- ...Сдох!

Занавес.

Навеяло...

Вот. Навеяло ветром.

5 сент. 2009 г.

LetMeGoogleThisForYou.com - отмазка от дятлов

Наткнулся на интересный сервис http://lmgtfy.com - анимированный генератор запроса к Google. Нужен в тех случаях, когда задан какой-то тупой простой вопрос, ответов на который у всемирного разума - море. Например, что такоее авокадо? Ответ - ВОТ.

А сервис http://live.lmgtfy.com/ выводит в онлайне запросы, вводимые пользователями. Правда, своего запроса я там не увидел, но как точно работает система - не написано.




Дети глаголят

Жена с сыном (6 лет) читают сказку "Колосок". Вкратце сюжет: живут петушок (безымянный) и два мышонка (Круть и Верть). Петушок - трудяга, мышата - бездельники.
Прочитали. Жена просит пересказать сказку. Малый рассказывает, доходит до описания мышат:
- Мышата пели, плясали, были ленивые, потому что у них небыло телевизора...
(долгий продолжительный смех)
Жена начинает объяснять:
- Открою тебе секрет - если у человека даже есть телевизор и он постоянно лежит и смотрит его, то он тоже ленивый.
- Папе не рассказывать? - заговорческим шепотом спрашивает Малый.
(долгий продолжительный хохот)
- Мышата пели и плясали, вместо телевизора! - понял Малый.
(LOL :) )

4 сент. 2009 г.

FreeBSD. MRTG. Загрузка сетевого интерфейса

После долгих мучений настроил таки (вроде) отображение загрузки сетевых интерфейсов. Прописал следующий скрипт для съема статистики:

#!/bin/sh
/usr/bin/netstat -inb -I $1 > /tmp/nettraff.tmp
sleep 1
/usr/bin/netstat -inb -I $1 >> /tmp/nettraff.tmp
cat /tmp/nettraff.tmp | /usr/bin/awk '\
function abs(x){return x<0 ? -x : x}
NR==3 {in_beg = $7}\
NR==3 {out_beg = $10}\
NR==6 {in_end = $7}\
NR==6 {out_end = $10}\
END { print abs(in_beg-in_end) "\n" abs(out_beg-out_end) "\n0\n0" }'


Здесь 2 раза с перерывом в 1 секунду снимаются показания входящего и исходящего трафика на указанном интерфейсе и выводятся модули их разницы.

3 сент. 2009 г.

FreeBSD. MRTG. Загрузка процессора

Обнаружил, что на одном из серверов под FreeBSD MRTG некорректно показывает информацию о загрузке процессора. Выяснил, что виной тому неправильный скрипт снятия данных. Вместо него поставил строку:
/usr/sbin/iostat -w 1 -c 2 -t proc | tail +4 | awk '{print $3"\n"$5""\n0\n0}'

Должно теперь показывать корректно - первый выводимый параметр загрузка процессами пользователя (us), второй - системы (sys).

upd: 2009-09-04
P.S. Путь к утилите iostat указывать обязательно, иначе при запуске из крона она не будет найдена и, соответственно, данные не выведутся.

Онлайн-тренинги от Артура Крюкова

Наткнулся на сайт Артура Крюкова. На сайте находится множество информации по Linux-у, сетям и прочим IT-шным темам. Мне очень понравилась простота и доступность объяснения. Из материалов к его онлайн-курсам я таки понял что есть что в структуре DNS-серверов.
Хочется, чтобы подобных ресурсов было побольше... :)

Linux. Samba. Cups. Тонкие клиенты. Расшаривание принтеров

Возникла задача подключения терминальных пользователей с тонких клиентов на географически удалённый сервер с обеспечением печати на принтер в локальной с тонкими клиентами сети. Тонкие - Hp Compaq T5125 и T5135.
У T5125 с прошивкой Windows CE проблем не возникло:

  1. В настройках тонкого добавляется принтер, установленный на Windows-машине.

  2. В настройках RDP-сессии указывается использование установленного принтера.

  3. В настройках пользователя на терминальном сервере (Windows 2003) разрешается использование принтера пользователя в его сессии.


С Linux-тонкими возникли сложности. Пришлось поднять на Samba-сервере Cups и завести настроенные в нем принтеры через Samba. Инструкций по настройке Cups и Samba - океан и маленькая лужица. Единственное, с чем мне пришлось столкнуться, так это с непониманием того, как Samba получает список принтеров и как ей указать на расшаривание определенного принтера вместо полного списка. Нашел-таки в одном из мануалов по настройке Red Hat разъяснение. Samba получает список из файла /etc/printcap, генерируемого CUPS-ом при добавлении принтеров (естественно, всё это перенастраивается и файл может быть в другом месте, вообще не файлом, и не от CUPS-а). Фомрат этого файла и методы работы с ним подробно описаны в инете.
Далее. Samba ищет в своем конфигурационном файле раздел с параметром printer, который она рассматривает, как описание расшариваемого принтера. Параметр printer должен содержать имя или псевдоним одного из принтеров в списке /etc/printcap. Если этот раздел существует, в списке ресурсов Samba (ессно, если разрешено) отображается новый ресурс с именем раздела и описанием из параметра comment. Если же такого раздела в smb.conf не найдено, но присутствует раздел [printers], то последний дублируется для каждой записи в /etc/printcap, применяя для каждого принтера общие параметры. Ну, а на "нет" - и суда нет :).
Кусок моего smb.conf, относящийся к принтерам имеет теперь следующий вид:

load printers = no # Отключаем загрузку полного списка установленных принтеров, если нам нужны шары только некоторых.
printing = cups # Печать вдется через установленный CUPS
printcap name = cups

[HPLJ1320]
comment = HP Laser Jet 1320
printable = yes
path = /var/spool/samba
public= yes
guest ok= yes
printer admin= root
printer = HPLJ1320 #Это и есть имя принтера из /etc/printcap, который расшаривается
browseable = yes # Выводить ли принтер в списке ресурсов сервера.

Особых разъяснений, думаю, не требуется.
В такой конфигурации принтера подхватываются и Windows-, и Linux-десктопами, и тонкими клиентами. Единственное, что стоит дополнительно настроить, - это расшаривание пакета драйверов для разных операционок с самого Samba-сервера. Но мне это пока не нужно, а процедура описана в сети достаточно подробно.

После настройки печати через Samba осталось настроить Linux-тонкие. В обеих моделях были добавлены Samba-принтера. Сервер = [ip], Принтер = [имя ресурса принтера на Samba-сервере], login и pass - в соответствии с требованиями - на момент тестирования это может быть guest/guest. Так же необходимо выставить флаг Translate, значение которого я пока не понял. Ну, и в настройках RDP-сессии разрешить использование этого принтера.

В процессе настройки столкнулся с собственной ошибкой, когда тонкие клиенты получают IP от DHCP в подсети, отличной от подсети Samba-сервера. При этом, естественно, принтер не находится и печать на него идет в пустоту. После добавления тонкому адреса в нужной подсети печать пошла.