The Dude на headless сервере

В РАЗРАБОТКЕ

Тезисное изложение установки системы мониторинга The dude на сервер под линуксом. Эта конфигурация имеет существенную проблему безопастности - Thedude должен запускается под wine c правами рута. Вследствии чего приходится использовать автоматический логин в рута.

Поехали.

Устанавливаем minimal ubuntu

Дистрибутив весит всего 30 метров. Только самые необходимые пакеты. Я использовал 32-битную версию, так как жрет меньше памяти.

Устанавливаем минималистичный оконный менеджер fluxbox и сопуствующие пакеты
$ apt-get install fluxbox
$ apt-get install xinit
Устанавливаем wine
$ apt-get install pulseaudio #чтобы wine не ругался на отсутствие звука
$ apt-get install wine
$ cp /usr/share/fonts/truetype/msttcorefonts/* ~/.wine/drive_c/windows/Fonts/

ЭТО НЕ НУЖНО УЖЕ apt-get install gksu (чтобы запускать dude под рутом) apt-get install slim (для автологина)

Редактируем конфиг /etc/slim.conf

# default_user        root
# auto_login          no

Через apt pinning устанавливаем последнюю версию slim, в ней есть slimlock

Download The Dude installer, at the time of writing, the latest version is 4.0 Beta 3:

$ wget http://download.mikrotik.com/dude/4.0beta3/dude-install-4.0beta3.exe

Перезапускаем систему, должен произойти автологин под рут. Устанавливаем dude wine dude-install-4.0beta3.exe

Запускаем

wine ~/.wine/drive_c/Program\ Files/Dude/dude.exe & Устанавливаем галучку на secure подключение, порт изменится на 2211. Логин и пароль нужно будет изменить позже - пока это Admin с пустым паролем.

Пробрасываем порт наружу.

Добавляем строки запуска в /root/.fluxbox/startup после строки Application you want to run with fluxbox

wine ~/.wine/drive_c/Program\ Files/Dude/dude.exe &
slimlock

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

UPDATE

Переделываем как описано тут Setting up the Dude Service

Запускаем dude как сервис.

Устанвливаем Xvfb (X virtual framebuffer)

As you can imagine, we are going to need a GUI to install Dude. However, we usually don 't have one in server environments, unless you have a desktop manager installed like Gnome, KDE, etc. I sometimes install fluxbox (a very small desktop environment) for this purposes. Well, this program will allow us to create a virtual (fake) X Server used to install Dude.

$ apt-get install xvfb
Ставим vnc
$ apt-get install x11vnc
Создаем виртуальный дисплей с помощью Xvfb
$ Xvfb :1 -screen 0 800x600x16 &
Разрешаем vnc коннектится к виртульному дисплею
$ x11vnc -display :1  -bg -forever
Запускаем установку dude
$ export DISPLAY=:1
$ export WINEPREFIX=/srv/dude
$ wine dude-installer-xxx.exe
Подключаемся к виртуальному дисплею с vnc-клиента (напр. openvnc)
Завершая инсталляцию в обычном режиме.
Запускаем Thedude как демон

Создаем файл /etc/init.d/dude со следующим содержимым

#!/bin/bash

### BEGIN INIT INFO
# Provides: dude
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Dude Server
### END INIT INFO

action=${1}

# ----------------------------------------------
# User Options
# ----------------------------------------------
xvfb_pidfile='/var/run/dude-xvfb.pid'
wine_pidfile='/var/run/dude-wine.pid'
virtual_display=':1'
dude_path='/srv/dude'
# ----------------------------------------------

export DISPLAY=$virtual_display
export WINEPREFIX=$dude_path

start ()
{
 echo -n 'Starting Dude virtual display: '
 Xvfb $virtual_display &> /dev/null &
 echo $! > $xvfb_pidfile
 echo 'ok'
 echo -n 'Starting Dude Server: '
 sleep 5
 wine 'c:\Program Files (x86)\Dude\dude.exe' --server &> /dev/null &
 echo $! > $wine_pidfile
 echo 'ok'
}

stop ()
{
 echo -n 'Stopping Dude Server: '
 kill $(cat $wine_pidfile)
 rm -f $wine_pidfile
 sleep 5
 echo 'ok'
 echo -n 'Stopping Dude virtual display: '
 kill $(cat $xvfb_pidfile)
 rm -f $xvfb_pidfile
 echo 'ok'
}

case "$action" in
 start)
  start
 ;;

 stop)
  stop
 ;;

 *)
  echo "Usage: $0 {start|stop}"
 ;;
esac

# -----------------------------------------------------------------------

В скрипте путь к dude.exe может варьироваться, - Program Files (x86) или просто Program Files

Устанавливаем права

$ chown root:root /etc/init.d/dude
$ chmod 755 /etc/init.d/dude

Comments !

blogroll

social