Сегодня мы поговорим о настройке IRC-сервисов,
причем эта тема будет освещаться со стороны
администратора, то есть тебя =). Будучи
юзером в IRC, ты быть может уже знаком с
сервисами и знаешь почти все их команды, но,
поверь, админом быть гораздо интереснее =).

Итак, у тебя имеется настроенный и поднятый
IRCD, пусть это будет Unreal. Скачаем сервисы
отсюда: http://kamensk.net.ru/forb/1/ircservices-4.5.41.tar.gz.
Скачаем их, и приступим к редактированию
ircd.conf (конфиг IRCD). Сервисы представляют
собой отдельный сервер, поэтому IRCD должен
быть скомпилен как HUB и иметь C/N лайны на
сервисы. Пропишем их, следующим образом:

C:192.168.0.1:services:services.local.net::50
N:192.168.0.1:services:services.local.net::50

Учитывая, что твоя сетка имеет название
local.net, а сервисы стартуются с хоста 192.168.0.1 (возможно
оттуда же стартуется и IRCD). Пароль на
сервисы сделаем «services» (рекомендую его
переделать, чтобы какой-нибудь упырь не
подконнектился на IRCD под сервисами =)), класс
коннекта 50, порт не указывается.

Ты не задумывался, почему сервисам
разрешено все (раздавать опов направо и
налево, килять пользователей и даже менять
их ники)? За это отвечает U-line в ircd.conf. Маска
подпадающая под этот лайн может делать все
на данном сервере, поэтому прописываем:

U:services.local.net:*:*

На этом настройка ircd.conf завершена. Пошли
серверу SIGINT-сигнал (не путать с SIGKILL =))
командой killall -1 ircd, или набери «/rehash» в
ирке на своем сервере (но для этого ты
должен быть как минимум админом сервера).

Теперь займемся самими сервисами.
Законфигурим их, прописывая директорию для
бинарников и вторую, для библиотек (в том
числе и services.conf). Затем по порядку make, make install.
Вроде все =).

Перейдем к настройке конфа. Файл должен
называться serivces.conf и лежать в директории,
которую ты указал в configure для библиотек.
Коротко об его настройке (пишу, чтоб все
корректно запустилось и немного о важных
переменных):

RemoteServer — аналог C/N лайнов в ircd.conf. Формат:
сервер порт «пароль», смело заполняем
своими данными:

RemoteServer 192.168.0.1 6667 «services»

ServerName — имя сервера, под которым будут
линковаться сервисы. Мы его задали, это имя
services.local.net:

ServerName «services.local.net»

ServerDesc — Description для сервера, придумываем свой
=)

ServerDesc «Services for Local IRC Daemon»

ServiceUser — маска, под которой будут выступать
все сервисы данной сети. Сделаем services@local.net
для наглядности:

ServiceUser «services@local.net»

Далее идет перечисление ников сервисов, их
менять не советую, так как это стандарт,
пусть он и останется стандартом =). Об этих
никах и какую функцию они выполняют
поговорим чуть позже.

Далее идут специфические настройки для
каждого сервиса (например, когда дропать
ник по таймауту, или сколько клонов
допускать для коннекта на сервер). С этими
тонкостями, я надеюсь, ты разберешься сам.
Стоит вписать лишь свой ник в часть ServicesRoot,
чтобы быть администратором сервисов.

После настройки, пробуем запустить сервисы.
Заходим в директорию с бинарниками и
стартуем их — «./services». Если все ок,
сервер сообщит тебе о новом линке, а NickServ
попросит зарегистрировать ник =). В
противном случае смотри конфы (на 99% в них
что-нибудь не так), либо логи сервисов (по
умолчанию services.log в директории с
библиотеками и конфами).

Теперь собственно об управлении =). После
того, как ты зарегистрил свой ник, который
совпадает с ником в переменной ServicesRoot (если
ты не знал, чтобы зарегить ник нужно набрать
«/ns register пароль_на_ник e@mail»), а затем
стал опером на IRCD, тебе автоматически
присвоится звание Services Administrator. После этого
командуй: «/os set supass пароль», чтобы
установить пароль на Super-user Operators =), которые
могут выполнять все операции над сервисами.
Для этого статуса впоследствие нужно
набирать: «/os su пароль». Чтобы добавить
в сервис-админы кого-либо еще, набери «/os
oper add nick», где nick — человек, которого
добавляешь =). После всего вышеописанного,
сделай «/os update», чтобы сохранить базы.

А теперь о возможностях =). Дело в том, что
через оперсерва возможно слать Raw-сообщения
всем сервисам, например, чтобы поменять ник
у кого-нибудь, достаточно набрать: «/os raw :NickServ
svsnick Nick Nick2 1», где Nick — текущий ник, Nick2 — ник,
на который хочешь поменять текущий =). Также,
через эти же Raw можно джойнить на канал
сервисы, подобным путем (ограничений нет),
но не злоупотребляй: если какой-нибудь
сервис глюканет, то упадут все сервисы =). Я
не говорю о таких банальных возможностях,
как /os akill или /os mode, о них я думаю ты все
знаешь, иначе — /os help.

«/os jupe server.name» зажупит =) сервер в твоей
сети (такое бывает необходимо если с
сервером не все в порядке, сервисы как бы
эмулируют коннект, но на самом деле сервер-жертва
будет находиться не в сети). Для отмены JUPE,
сделай сервису SQUIT, командой /squit server.name.

Итак, сервисы состоят из:
NickServ — заведует базой ников
ChanServ — заведует базой каналов
MemoServ — сервер сообщений
OperServ — заведует сервисами =)
Global — выводит глобальные сообщения
DevNull — мусорка 😉 Посредством нее сервисы
общаются между собой.
HelpServ — Хелп по всем сервисам.

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

Как ты наверное понял, с сервисами в сети
гораздо веселее, чем без них. Да и все
высокоорганизованные сетки имеют свои
сервисы, это уже стало стандартом IRC-сети =).

Оставить мнение

Check Also

Безопасность превыше всего. 9 простых трюков, которые сделают жизнь линуксоида секьюрнее

Жизнь обычных людей складывается из мелочей. Жизнь линуксоида складывается из множества ма…