Настройка домашнего сервера Linux (Часть 10)

Samba

Отключаем встроенную самбу (Usb Apps -> Samba -> Samba File Shares - Disable), если этого не было сделано.
Устанавливаем samba:

ipkg install samba35
Качает пакет более 20 мб. Поэтому это может занять достаточно много времени, в зависимости от ширины канала. Далее сохраняем следующий конфиг для использования, который должен лежать в /opt/etc/samba/ и называться smb.conf:

[global]
interfaces = 172.16.102.1/28
bind interfaces only = yes
workgroup = km50
server string = Dump
netbios name = Dump
guest account = share
security = share
dns proxy = no
guest ok = yes
guest only = yes
log level = 1
max log size = 100
log file = /opt/var/log/samba/log.%m
encrypt passwords = no
preserve case = yes
short preserve case = yes
dos charset = UTF-8
unix charset = UTF-8
display charset = UTF-8
wins support = yes
os level = 255
local master = yes
wide links = yes
printcap name = /dev/null
load printers = no

[downloads_torrents]
path = /opt/torrents/downloaded
writable = no
browseable = yes

[torrents_files]
path = /opt/torrents/dl
writable = yes
browseable = yes

[copy_share]
path = /opt/torrents/copy
writable = yes
browseable = yes

[dump]
path = /opt/torrents/dump
writable = yes
browseable = yes
Примечание: корректность конфигурационного файла можно посмотреть с помощью команды testparm.

Для гостевого доступа от имени share в системе должен быть создан пользователь share.

Создаем файл запуска samba:

vi /opt/etc/init.d/S08Samba
С содержимым:

#!/bin/sh

 # set samba_active=1 to activate samba
 samba_active=1

 [ 1 = $samba_active ] || exit 0

 if [ -n "`pidof smbd`" ] ; then
 echo "Stopping smbd:"
 killall smbd
 fi

 if [ -n "`pidof nmbd`" ] ; then
 echo "Stopping nmbd:"
 killall nmbd
 fi

 sleep 2

 echo "Starting nmbd:"
 /opt/sbin/nmbd -D
 echo "Starting smbd:"
 /opt/sbin/smbd -D
После установки доступна одна из вкусностей данной версии, а именно команда smbget. Она работает аналогично wget только с шарами что позволяет копировать данные по сети с неустойчивыми каналами связи. Синтаксис такой:

smbget -r -R -u имя пользователя -p пароль smb://путь к файлу(ам)
Перед запуском необходимо перейти в директорию в которую нужно скопировать файлы.

Для монтирования шар со сторонних серверов нужно создать в папке /opt/etc следующий файл:

vi /opt/etc/mshare
С содержимым отредактированным под свои нужды:

#!/bin/sh

if [ -f /etc/mtab ] ; 
then 
 rm /etc/mtab; 
fi

if mount | grep /opt/mnt/load ; then   #is already mounted
  umount /opt/mnt/load
  echo -n "/opt/mnt/load unmounted "
  date
else # is not mounted  
  mount.cifs //172.16.100.1/downloads /opt/mnt/load -o user=share,pass=пароль,ro,iocharset=utf8
  sleep 1
  echo -n "SMB-share 172.16.100.1 mounted to /opt/mnt/load"
  date
fi
                     
if mount | grep /opt/mnt/downloads ; then   #is already mounted
  umount /opt/mnt/downloads
  echo -n "/opt/mnt/downloads unmounted "
  date
else # is not mounted  
  mount.cifs //172.16.100.1/downloads /opt/mnt/downloads -o user=share,pass=пароль,ro,iocharset=utf8
  sleep 1
  echo -n "SMB-share 172.16.100.1 mounted to /opt/mnt/downloads"
  date
fi
Так же необходимо скачать набор модулей для текущей прошивки от сюда, затем перенести модуль cifs.o в папку /opt/lib/module/.

После добавить стороку в автозапуск samba:

insmod /opt/lib/module/cifs.o
Снова сохраниться и перезагрузиться:

flashfs save && flashfs commit && flashfs enable && reboot
Прочли: 1554 | Изменено: 14 сентября 2011 | Добавлено: 25 апреля 2011 | На главную