В одной из предыдущих статей говорилось о несовершенстве службы Samba, имеющейся в составе штатной прошивки устройства («захлебывание» данными при больших объемах копирования на раздел Ext2).
Мне удалось найти новую версию Samba, лишенную этого недостатка. Но к сожалению, не удалось найти никаких инструкций по ее установке на DNS-313.
Тем не менее, рассуждая и экспериментируя «по наитию», мне удалось добиться ее работоспособности на моем устройстве.
Итак, приступим (я думаю, не надо напоминать, что все операции командной строки выполняются через Telnet или SSH-клиент от имени root‘а)…
Перейдем в какой-нибудь рабочий каталог — например, в корень раздела /mnt/HD_a2:
cd /mnt/HD_a2
Загружаем архив-дистрибутив Samba:
wget http://inreto.de/dns323/fun-plug/0.5/extra-packages/All/samba-3.3.2-1.tgz
Устанавливаем дистрибутив:
funpkg -i samba-3.3.2-1.tgz
Копируем файл конфигурации и файл паролей, по которым работает штатная Samba, для работы новой Samba (чтобы не прописывать заново разделяемые ресурсы и пользователей):
cp /etc/samba/smb.conf /ffp/etc/samba/smb.conf
cp /etc/samba/smbpasswd /ffp/etc/samba/private/smbpasswd
Открываем на редактирование файл /ffp/etc/fun_plug.localи добавляем в него следующие команды:
kill `pidof smbd`
kill `pidof nmbd`
Замечание. Если такого файла не существует, то создайте его. Первой строкой с этом файле должно быть следующее:
#!/ffp/bin/sh
а затем — строки с командами.
Еще необходимо сделать этот файл запускаемым:
chmod a+x /ffp/etc/fun_plug.local
Следующая операция — делаем скрипт запуска новой Samba автозапускаемым:
chmod a+x /ffp/start/samba.sh
Теперь можно попробовать остановить штатную Samba:
kill `pidof smbd`
kill `pidof nmbd`
… и запустить новую:
sh /ffp/start/samba.sh start
Если все прошло без ошибок, то новая Samba установлена и работает. Проверяем это, обратившись с компьютера под управлением Windows к ранее известному разделяемому сетевому ресурсу DNS-313. Ввиду того что мы скопировали файлы настроек и паролей от штатной Samba, проблем с доступом к тем же ресурсам под теми же самими именами и паролями быть не должно.
Следующий этап — установка и запуск SWAT.
Дело в том, что после замены Samba штатный Web-интерфейс администрирования DNS-313 продолжает воздействовать на старые файлы конфигурации и паролей. Поэтому нам требуется альтернативный способ администрирования Samba —SWAT.
Поскольку все необходимое уже включено в установленный пакет Samba, нам остается лишь внести небольшие изменения в конфигурацию.
Поехали…
Изменяем файл конфигурации /ffp/etc/inetd.conf, дополнив его содержимое содержимым «заготовки»:
cat /ffp/etc/examples/inetd.conf-swat >>/ffp/etc/inetd.conf
На всякий случай — если файла-заготовки не оказалось, то после можно отредактировать файл /ffp/etc/inetd.conf вручную, дополнив такой строчкой:
swat stream tcp nowait.400 root /ffp/sbin/swat swat
Затем редактируем файл /ffp/etc/fun_plug.local, добавив в него следующую команду:
echo ‘swat 901/tcp’ >>/etc/services
Заключительный шаг — делаем скрипт запуска inetd.shавтоисполняемым:
chmod a+x /ffp/start/inetd.sh
Перезагружаем DNS-313. После перезагрузки интерфейс SWAT должен быть доступен по адресу:
http://my_nas_name_or_address:901
Вот и всё.