Последние прошивки DD-WRT имеют встроенный сервер Samba, который можно конфигурировать через вебинтерфейс прошивки. Мы же попробуем настроить основные параметры через консоль, не прибегая к помощи веб интерфейса.
Для начала отключаем Samba сервер в веб интерфейсе, если он там включен. Для этого заходим в вебморду роутера, в раздела Services/NAS и отключаем автоматический запуск встроенного сервера.
выбираем там Samba/Disable и нажимаем "Apply Settings" .
Теперь можно приступить к собственной настройке.
Логинимся к роутеру по ssh через putty, и для начала давайте создадим пользователя, логин и пароль которого будет использоваться для доступам к запароленным ресурсам нашего samba сервера.
В нашем примере логин этого пользователя будет share и пароль pass
Открываем /etc/passwd (там хранятся пароли и права доступа всех пользователей нашей линукс машинки (роутера).
vi /etc/passwd или nano /etc/passwd
(во всех следующих примерах для редактирования файлов мы будем использовать редактор nano, так как он удобнее чем vi. nano мы уже становили при начальной настройке opkg, если он не установлен, установите его командой opkg install nano )
Итак, мы открываем /etc/passwd и добавляем туда следующие строчки:
nobody:x:65534:65534:nobody:/mnt:/bin/false
share:x:65534:65534:share:/mnt/share:/bin/false
после этого задаем пароль для пользователя share, в нашем примере он pass . Вводим:
passwd share
после этого будет запрошен пароль, вводим туда pass, и когда пароль попросят повторить- еще раз pass
Теперь давайте посмотрим, какие изменения произошли в файле /etc/passwd , вводим
cat /etc/passwd
и видим, что для пользователя share добавился пароль в зашифрованном виде:
share:$1$Zs/eSyN7$yL0jObZCsP2rMAsjHmsXM.:65534:65534:share:/mnt/share:/bin/false
к сожалению, после перезагрузки роутера изменения в файле /etc/passwd не сохраняются, поэтому создаем скрипт, который будет добавлять при загрузке роутера созданных нами пользователей в файл /etc/passwd
nano /opt/etc/init.d/S05adduser
со следующим содержимым:
grep -q nobody /etc/passwd || echo 'nobody:x:65534:65534:nobody:/mnt:/bin/false' >> /etc/passwd
grep -q share /etc/passwd || echo 'share:$1$Zs/eSyN7$yL0jObZCsP2rMAsjHmsXM.:65534:65534:share:/mnt/share:/bin/false' >> /etc/passwd
та часть которая выделена красным, наш зашифрованный пароль для пользователя share, его надо скопировать из файла /etc/passwd и вставить в наш скрипт.
Делаем скрипт исполняемым
chmod a+x /opt/etc/init.d/S05adduser
теперь после перезагрузки роутера созданные нами пользователи будут добавлены в /etc/passwd
Приступаем к настройке samba сервера, создаем директорию для конфигурационных файлов
mkdir /opt/etc/samba
и теперь можно создать наконец файл конфигурации samba сервера - smb.conf
nano /opt/etc/samba/smb.conf
с таким содержимым:
[global]
netbios name = WNDR3700
workgroup = WORKGROUP
server string = DD-WRT
syslog = 10
encrypt passwords = true
passdb backend = smbpasswd
obey pam restrictions = yes
socket options = TCP_NODELAY
preferred master = no
os level = 20
security = user
guest account = nobody
invalid users = root
unix charset = UTF-8
dos charset = UTF-8
[home]
comment = Home Directories
browseable = no
read only = no
create mode = 0750
[Optware]
path = /mnt/
read only = no
guest ok = no
create mask = 0700
directory mask = 0700
[media]
path = /mnt/share/media/
read only = no
guest ok = yes
directory mask = 0777
в этом файле у нас прописаны 2 шары:
первая - "Optware" позволит нам получить доступ к содержимому раздела с установленным софтом нашей флешки, и вторая - "media" , которую мы будем использовать доступа к файлам на третьем (самом большом) разделе нашей флешки
Теперь создадим домаший каталог для пользователя share, и папку в нем, к которой мы будем монтировать третий раздел нашей флешки
mkdir -m 777 /mnt/share
mkdir -m 777 /mnt/share/media
Самба сервер хранит пароли пользоваетелей в собстенном файле smbpasswd, создадим его
mkdir /tmp/var/samba
touch /tmp/var/samba/smbpasswd
smbpasswd share pass
где pass это пароль, который мы использовали в нашем примере для пользователя share. Зададим права доступа к этому файлу и скопируем файл smbpasswd в директорию с настройками samba сервера, так как при перезагрузке роутера содержимое каталога /tmp будет потеряно.
chmod 644 /tmp/var/samba/smbpasswd
cp -a /tmp/var/samba/smbpasswd /opt/etc/samba/smbpasswd
теперь создадим скрипт запуска samba сервера при загрузке системы
nano /opt/etc/init.d/S50samba
с таким содержимым:
kill -9 $(pidof smbd)
kill -9 $(pidof nmbd)
mkdir -p /tmp/var/samba
cp -a /opt/etc/samba/smbpasswd /tmp/var/samba/smbpasswd
smbd -s /opt/etc/samba/smb.conf
nmbd -D -s /opt/etc/samba/smb.conf
и сделаем его исполняемым
chmod a+x /opt/etc/init.d/S50samba
на этом настройка samba сервера закончена.
в примере мы создали шару media, с помощью которой собирались получить доступ к третьему разделу флешки, чтобы при перезапуске роутера примонтировать третий раздел флешки к папке /mnt/share/media , на который ссылается эта шара, нужно добавить команду монтирования этого раздела в файл /mnt/optware.sh , который мы используем для запуска optware.
Открываем файл /mnt/optware.sh
nano /mnt/optware.sh
и добавляем туда строчку
mount -t ext2 /dev/sda3 /mnt/share/media
в итоге содержимое этого файла должно выглядеть вот так:
#!/bin/sh
sleep 2
swapon /dev/sda1
mount -o bind /mnt/etc /etc
mount -o bind /mnt/root /tmp/root
mount -o bind /mnt/opt /opt
mount -t ext2 /dev/sda3 /mnt/share/media
if [ -d /opt/usr ]; then
export LD_LIBRARY_PATH='/opt/lib:/opt/usr/lib:/lib:/usr/lib'
export PATH='/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/sbin:/usr/sbin:/usr/bin'
else
exit
fi
теперь перезагружаем роутер, и смотрим что у нас получилось
Только для пользователей window 7 и windows vista
Начиная с Windows Vista изменились параметры авторизации при доступе к сетевым ресурсам. Поэтому придется внести некоторые изменения в политики сетевой безопастности .
Пуск - Панель управления - Администрирование - Локальная политика безопасности - Локальные политики - Параметры безопасности
"Сетевая безопасность: уровень проверки подлинности LAN Manager - выбираем в списке пункт "Отправлять LM и NTML, использовать сеансовую безопасность NTMLv2 при согласовании"
или же создаем файл sambafix.reg вот с таким содержимым
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
"LmCompatibilityLevel"=dword:00000001
запускаем его в windows под правами администратора и перезагружаем компьютер
а это обязательные настройки ?? или все же нет ?
ОтветитьУдалитьчто они дают ? ))
забыл узнать )) я в putty не профи, у меня вопрос, а можно эти скрипты скопировать туда сразу же или надо вручную вписывать ?
ОтветитьУдалитьHomavi
ОтветитьУдалитьнастройки не обязательные, просто пример как это делать не из вебморды. Дают создать 2 шары с защитой по паролю
Homavi
ОтветитьУдалитьесли Вы ничего не меняли в настройках putty, то по нажатию правой кнопки мышки в окне терминала будут вставляться все содержимое буфера обмена. Те копируете строку в тексте, потом наводите на окошко терминала и нажимаете правую кнопку мыши
Спасибо огромное. Все получилось.
ОтветитьУдалитьЕдинственная проблемма. Раньше(когда самба была настроеяна через веб-интефейс) с макбука заходил нормально. Теперь же с десктопа с Windows 7 заходит нормально, а с макбука "ругается" на "неверное имя пользователя или пароль". Может подскажете как бороться.
Также есть огромная просьба помочь с настройкой ProFTPD, чтобы была возможность создавать разных пользователей с доступом к разным папкам.
Заранее спасибо.
~W~
ОтветитьУдалитьПо макбуку помочь не смогу.. Про ProFTPD или про vsftpd напишу.. С ProFTPD пока не совсем понял как запускать его не из под рута...
После перегрузки роутера, отваливается usb-драйв. Приходится физически отключать и затем включать либо питание драйва либо usb-кабель.
ОтветитьУдалитьЯ новичек. Помогите, пожалуйста решить проблему.
Не могу подцепить диск через SMB ни в Mac OS, ни в Win7.
ОтветитьУдалитьКакой путь надо открывать для доступа к диску по SMB?
Как проверить виден ли мой диск(не через роутер)?
Возникла небольшая проблемка с монтированием шары mnt/share/media на третий диск.Дело в том что он почему-то монтирует ее на второй раздел под софт Optware и нельзя ничего скопировать и удалить с него, пишет нет доступа. Все устанавливал по указанной инструкции, формат разделов: 1 раздел swap, 2 раздел ext2 и третий тоже ext2, на компе установлен windows7.Подскажите что я делая не так и в чем может быть проблема.
ОтветитьУдалитьРебята подскажите пожалуйста, все настроил по инструкции появилось две папки как и писалось, но проблема в том что капировать на них и удалять с них нельзя, пишит, что нет доступа к целевой папке.У самого стоит Windows7 64 максимальная.Подскажите что может настроить в конфиге самбы нужно или в винде подкрутить.
ОтветитьУдалитьА как для встроенной самбы установить web интерфейс? samba-swat.
ОтветитьУдалитьvery impressed
ОтветитьУдалитьRouterlogin
Routerlogin Net