04 Декабрь 2007

SWAT в Kubuntu-е.

После переезда на Kubuntu, возобновлял работу сохраненных виртуальных машин, и возникла необходимость создать расшареный ресурс для виртуально-работающей Венды. Вспомнив про web-инструмент для настройки Samba-сервера программу SWAT, я споткнулся об отсутствие root-a в Kubuntu-е. Поэтому и родился этот пост.

Ставим SWAT... и не только.
Все делается в консоли.
Не заморачиваясь в подробности, я дал команду

sudo aptitude install swat
... которая сама уже по зависимостям вытягивает и samba и samba-common, и что там еще нужно..

Далее, вроде как еще нужен буде пакет xinetd, так ставим и его:
sudo aptitude install xinetd
sudo update-inetd --enable 'swat'

Конфигурим.
Правим файл /etc/inetd.conf
Там находим строчку:
#off# swat stream tcp nowait.400 root /usr/sbin/tcpd \ /usr/sbin/swat
и проверяем - должна быть уже раскомментарена, как в строке ниже:
swat stream tcp nowait.400 root /usr/sbin/tcpd \ /usr/sbin/swat
Далее, создаем файл (если его не было) /etc/xinetd.d/swat, и вписываем в него:
# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
# to configure your Samba server. To use SWAT, \
# connect to port 901 with your favorite web browser.
service swat
{
port = 901
socket_type = stream
wait = no
only_from = localhost
user = root
server = /usr/sbin/swat
log_on_failure += USERID
disable = no
}
С консоли я лично делаю так (и да не возгневаются поклонники vi):
sudo nano /etc/xinetd.d/swat
очень удобным для Пользователя редактором nano или в mc.

Перезапускает xinetd с новой конфигурацией:
sudo dpkg-reconfigure xinetd
или так (неважно):
sudo /etc/init.d/xinetd restart

Проверяем.
Далее, можно проверить состояние сервиса swat, который должен "слушать" 901 tcp-порт - у меня сам порт не показал, но видно что "слушает"
$ netstat -lt
Активные соединения с интернетом (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:dict *:* LISTEN
tcp 0 0 *:swat *:* LISTEN
tcp 0 0 *:56425 *:* LISTEN
tcp 0 0 *:netbios-ssn *:* LISTEN
tcp 0 0 localhost:7634 *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 *:microsoft-ds *:* LISTEN
В итоге можем запускать http://наш_сервер:901/
Если запускаем у себя на локальной машине, то http://localhost:901/ или http://127.0.0.1:901/

Работаем.
Ну конечно же, тут у меня SWAT запрашивает login. Если зарегестрируемся простым пользователем, то мы сможет там немногое. Ну а если нам нужно создать "шару", как в моем случае, то тогода необходимо логиниться root-ом. Но для этого нужно сделать пароль для него:
sudo passwd root
new password "новый_пароль"
Теперь можно логиниться root-ом и рулить Самбой.
Взято с ubuntu-форумов и некоторых других англоязычных ресурсов, найденных с помощью Google.

Примечание.
Если нам когда-нибудь будет нужно перезапустить или (остановить/запустить) Самбу, то на заметку:
sudo /etc/init.d/samba restart (stop/start)
Если есть где-то недочеты, или не оптимальные решения - комментаторы поправят.
У меня это работает.

5 коммент.:

ZaG комментирует...

Вообще рут на убунте есть, но описанный автором способ мне нравится.

Dmitry комментирует...

пасиба бальшое
на дебиане зараюотало все хорошо
хотя думаю по другому и быть не могло :)

SIR комментирует...

2 Dmitry:
Отличная новость!
:-)

Gordon Freeman комментирует...

эмн....чувак. а зачем ты xinetd ставишь?

SIR комментирует...

2 Gordon Freeman:

xinetd - the eXtended InterNET services Daemon

xinetd выполняет те же функции что и inetd: он запускает процессы которые предоставляют различные сервисы интернет.

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

Когда приходит запрос xinetd запускает соответствующий сервер.

В общем, у меня получилось swat настроить именно с xinetd. Надобность была разовой, а метод - работоспособный.