23.2. Построение простого автономного файлового сервера Samba для Windows
Проблема
Необходимо организовать надёжный общий доступ к файлам в сети Windows без приобретения серверной лицензии Windows и нового оборудования. Сетевые параметры, такие как TCP/IP и механизм разрешения имён, уже настроены и функционируют — любой хост может «ping»-овать другой по имени или IP-адресу. Однако вам не хочется управлять паролями и разрешениями. Нужно простое, общедоступное, анонимное решение для хранения и обмена файлами.
Решение
Установите Samba на компьютере с Linux, который будет выполнять функции файлового сервера. На сервере Samba создайте каталоги для общего доступа. Все Windows-клиенты должны входить в одну рабочую группу (в данном случае она будет называться «workgroup»), а также поддерживать TCP/IP и протокол клиента сетей Microsoft.
Для установки Samba используйте соответствующие пакеты. Пользователи RPM должны установить пакеты samba
, samba-client
и samba-doc
, а пользователи Debian — samba
, samba-common
, smbclient
и samba-doc
. Архив с исходным кодом samba-latest.tar.gz
доступен на http://www.samba.org.
После установки создайте каталог для хранения файлов и установите на него права доступа 777:
# mkdir -m 777 /sharedstuff
Далее настройте Samba для анонимного доступа. Создайте резервную копию файла /etc/samba/smb.conf
и замените его следующим содержимым:
[global]
workgroup = workgroup
netbios name = windbag
server string = Anonymous LAN File Server
security = share
browseable = yes
hosts allow = 192.168.1.
[share1]
path = /sharedstuff
comment = Test Files
readonly = No
guest ok = Yes
Подставьте название своей рабочей группы и адрес подсети. Имя NetBIOS указывается в строке netbios name
и отображается в Сетевом окружении. Имя общего ресурса, указанное в квадратных скобках, не должно превышать 12 символов.
Сохраните изменения в smb.conf
и проверьте файл командой:
$ testparm
Перезапустите Samba командой:
# /etc/init.d/samba restart
Для Red Hat или Fedora используйте команду:
# /etc/init.d/smb restart
Проверьте доступность общих каталогов, выполнив команду на сервере:
$ smbclient -L windbag
Password:
Вы увидите список доступных ресурсов под заголовком Sharename
. Каталоги IPC$ и ADMIN$ являются системными и не используются для хранения файлов. Теперь, открыв Сетевое окружение на компьютере с Windows, пользователи смогут увидеть рабочую группу «workgroup» и общий ресурс share1
на сервере windbag
. Они могут загружать и сохранять файлы в общем каталоге.
Комментарий
После первой настройки Samba потребуется несколько минут для распространения информации о себе по сети. Если ресурсы не отображаются сразу, подождите немного.
Эта конфигурация не имеет защиты — общий каталог доступен для всех в пределах локальной сети. Директива hosts
allow
ограничивает доступ локальной подсетью, но для повышения безопасности можно настроить права доступа. Чтобы сделать каталог только для чтения, используйте директиву read only = yes
или writeable =
no
. Директивы smb.conf
для каждого ресурса (указанные в квадратных скобках) перекрывают глобальные параметры конфигурации.
Для более безопасного доступа к сетевым ресурсам с использованием учётных записей и паролей вы можете настроить Samba в режиме security = user
, что потребует авторизации для каждого подключения.
См. также
Раздел 22.4. для информации о добавлении новых модулей после установки Samba.