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.