Файловый сервер SAMBA
Помимо удаленного администрирования посредством терминала на SSH, есть возможность организовать доступ к файловой системе сервера в целом, и к файлам конфигураций приложений в частности, привычным для пользователей windows образом. Для этого мы установим и настроим распространенный файловый сервер samba, тем самым превращая устройство под управлением Tiny Core Linux в настоящий полноценный NAS. Или иными словами - сетевое хранилище.
Из репозитория нам доступна довольно старая но стабильная версия 3.6.1. Для наших нужд функционала этой версии будет более чем достаточно. Поэтому ставим её:
tce-load -wi samba3.tcz
Запускается сервер samba тоже одной строчкой:
/usr/local/etc/init.d/samba start
Как и у openssh запускающий скрипт файлового сервера samba поддерживает команды start, stop, и restart. Они соответственно запускают, осанавливают и перезапускают файловый сервер. В будущем, команды запуска иных приложений мы будем приводить к этому негласному "стандарту", создавая соответствующий скрипт. Подобное упрощает и унифицирует работу с приложениями из консоли.
Итак, сервер запущен. Теперь необходимо добавить пользователей, которые могут иметь доступ к файлам по сети. В моём случае пользователь будет один - root. Если вы планируете давать доступ к NAS другим пользователям, из соображений безопасности учетную запись суперпользователя не стоит использовать где либо ещё, кроме как для локального входа на сервер. В моём же случае это не столь критично. Добавляем пользователя:
smbpasswd -a root
На запрос вводим пароль. Он должен быть достаточно надежным. После добавления пользователя переходим к правке конфигурационного файла. Для удобства настройки сервисов все конфигурационные файлы у меня хранятся в папке /opt/conf/. Для того чтобы наш сервер при запуске брал настройки именно оттуда, придется подкорректировать файл /usr/local/etc/init.d/samba. А именно строчки
/usr/local/etc/init.d/samba
...
/usr/local/sbin/nmbd -D
/usr/local/sbin/smbd -D
...
заменить на:
/usr/local/etc/init.d/samba
...
/usr/local/sbin/nmbd -D -s /opt/conf/smb.conf
/usr/local/sbin/smbd -D -s /opt/conf/smb.conf
...
Есть и другой, очень простой способ, не требующий внесения правок в запускающий скрипт. Тем более в версии 8.x это сделать уже невозможно, так как скрипт защищен от изменения. В таком случае достаточно в файле /usr/local/etc/samba/smb.conf удалить всё содержимое и оставить всего одну строчку:
/usr/local/etc/samba/smb.conf
include = /opt/conf/smb.conf
Этой строчкой мы ссылаемся на наш файл с конфигурацией.
После этого нам останется создать файл /usr/local/etc/samba/smb.conf в директорию /opt/conf/ и открыть для редактирования. Ссылку с очень хорошим
руководством на русском я опубликовал в категории "полезные ссылки". Ниже я перечислю только базовые настройки, которые касаются непосредственно нашего
мультисервера.
После строки workgroup = MYGROUP необходимо добавить ещё несколько полезных параметров, которые почему-то были опущены в базовой конфигурации.
smb.conf
...
workgroup = MYGROUP
netbios name = TCL-SERVER
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=4096 SO_RCVBUF=4096
...
workgroup - имя локальной сети в windows.
netbios name - NETBIOS-имя. Это то имя с которым будет отображаться наш сервер в списке компьютеров из сетевого окружения. Более корректным будет задать это имя таким
же, как и "hostname" сервера. Если же вы хотите сменить "hostname", достаточно в файле /opt/bootsync.sh заменить стандартное значение BOX на своё.
socket options - настройки сокета. Внимание стоит уделить размеру буфера приема и передачи данных, по умолчанию они равны 8182 байт. Если у вас гигабитная сеть,
этот параметр необходимо увеличить, вплоть до максимального значения в 65536 байт. Если же передача файлов идёт с задержками и провалами скорости - размер буфера придется
уменьшить. Это немного уменьшит пропускную способность, но позволит устранить проблемы с просмотром видео по сети непосредственно с вашего NAS под управлением Tiny Core Linux.
Осталось добавить ресурсы к которым мы хотим открыть сетевой доступ. Для себя я создал две папки. Одну "root" - системный диск, и "HDD" - содержимое жесткого диска. Для этого в самый конец файла конфигурации добавил следующие строки:
smb.conf
...
[root]
comment = rootdir
path = /
valid users = root
public = no
writable = yes
browseable = yes
printable = no
[hdd]
comment = hard drive
path = /mnt/HDD
valid users = root
public = no
writable = yes
browseable = yes
printable = no
Теперь сохраняем конфигурацию, не забывая внести в список /opt/.filetool.lst директорию со скриптами запуска /usr/local/etc/init.d/ либо измененнный конфигурационный файл /usr/local/etc/samba/smb.conf, папку с паролем SAMBA /usr/local/etc/samba/private/. Команду запуска файл-сервера заносим в /opt/bootlocal.sh, и перезапускаем samba-сервер.
filetool.sh -b
/usr/local/etc/init.d/samba restart
После этого в нашем сетевом окружении появится компьютер с заданым в конфигурации именем NETBIOS. Если этого не произошло, перезагрузите сервер и попробуйте зайти напрямую по IP адресу. Иногда возникают конфликты SAMBA с работой WINS-сервера. При этом имя NETBIOS не отображается в списке стевых устройств, однако доступ по прямому IP работает без нареканий.
ранее: "Монтирование дисков, cron"далее: "FTP и NFS"Обсуждение темы ещё не открыто. Вы можете быть первым.
Оставить комментарий