Полная настройка Samba 3.5.12
Не давно появилась идея поменять Samba на 3.5.12-1.
Убил почти весь день,но всё таки пока не поднял не успокоился.
Сейчас опишу подробный ман, как всё делать. Итак, приступим.
Устанавливаем с репы пакеты.
Code:
ipkg install samba35 adduser
Ставится около 20 минут.
На всякий случай сделал настройку для Samba 1.9. Данный пункт не обязателен.
Code:
nvram set usb_vfat_options=codepage=866,iocharset=cp1251
nvram set usb_smbcpage_x=866
nvram set usb_smbcset_x=1251
nvram commit
После установки сразу же делаем настройку, переименовываем и проверяем файл автозапуска.
Code:
mv /opt/etc/init.d/S08samba /opt/etc/init.d/S80samba
И редактируем его
Code:
nano /opt/etc/init.d/S80samba
Code:
#!/bin/sh
if [ -n "`pidof smbd`" ] ; then
echo "Stopping smbd:"
killall smbd
fi
if [ -n "`pidof nmbd`" ] ; then
echo "Stopping nmbd:"
killall nmbd
fi
echo "Starting nmbd:"
/opt/sbin/nmbd -D
echo "Starting smbd:"
/opt/sbin/smbd -D
Даём на исполнение доступ
Code:
chmod +x /opt/etc/init.d/S80samba
Добавляем пользователя для samba, добавить можно тех, кто есть в passwd - smbpasswd -a имя
Добавляем пользователя админ
Code:
adduser -h /opt -s /sbin/nologin -G root -H admin
smbpasswd -a admin
Назначаем тем папкам которые сможет редактировать admin, пользователя, к примеру папку /home
Code:
chown admin:root /home
Редактируем конфигурационный файл smb.conf
Обязательно !!!! Указываем именно ip адрес!
Без неё не работает interfaces = 192.168.1.1/24
Также не забываем установить локаль UTF-8
Code:
export LANG="ru_RU.UTF-8"
Ещё где то читал, что без этого тоже бывают баги.
load printers = no
printcap name = /dev/null
Code:
nano /opt/etc/samba/smb.conf
Code:
[global]
interfaces = 192.168.1.1/24
bind interfaces only = yes
#Задаём параметры сервера
workgroup = HOME
server string = Black_Hole
browseable = yes
dns proxy = no
#Настраиваем уровень доступа
guest account = nobody
security = share
map to guest = bad user
guest only = no
guest ok = no
encrypt passwords = yes
preserve case = yes
short preserve case = yes
#Настраиваем логирование
log level = 1
max log size = 100
log file = /var/log/samba/%m.log
#Указываем кодировку
dos charset = UTF-8
unix charset = UTF-8
display charset = UTF-8
#Параметры оптимизации Самбы
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65535
dead time = 15
getwd cache = yes
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE
#Дополнительные настройки
load printers = no
printcap name = /dev/null
wins support = yes
time server = no
os level = 255
local master = yes
hosts allow = 192.168.1. 127.
[share]
path = /opt/torrent/download/
public = yes
guest only = yes
guest ok = yes
[incoming]
path = /home
public = yes
only guest = yes
writable = yes
printable = no
create mask = 0666
directory mode = 0777
[admin]
path = /
guest ok = no
writable = yes
force user = admin
browseable = no
valid users = admin
Настройка, производилась для общих папок и пользователя admin.
Не забываем дать права на запись всем в папке incoming
Code:
chmod 777 /home/samba/incoming
echo /etc/passwd >> /usr/local/.files
echo /etc/group >> /usr/local/.files
echo /etc/profile >> /usr/local/.files
flashfs save && flashfs commit && flashfs enable && reboot
Для настройки swat
Меняем пользователя на своего к примеру у меня это necrom
Code:
nano /opt/etc/xinetd.d/swat
Прописываем ip своей внутренней сети пример 192.168.1.1
Code:
nano /opt/etc/xinetd.conf
Возможны проблемы с кодировкой 866, для этого нужно пересобирать пакет с iconv (libiconv) или ставить glibc 2.3.5.
init_iconv: Conversion from CP866 to ASCII not supported
init_iconv: Attempting to replace with conversion from ASCII to ASCII
Error trying to resolve symbol 'init_samba_module' in /opt/lib/charset/CP866.so: Unable to resolve symbol
В приложении файлы конфигураций. И пример создание сетевого диска для admin.
Пытался как можно подробней описать и собрать всё в одном месте.
Прошу закрепить данную тему или добавить в маны.