23.2. Построение простого автономного файлового сервера Samba для Windows

Проблема
Требуется организовать надежный общий доступ к файлам в сети Windows без
приобретения серверной лицензии Windows и приобретения нового оборудова ния. Механизм разрешения имен, TCP/IP и клиенты сетей Microsoft установле ны и работают, любой хост может опросить (ping) любой другой хост по имени
или IP-адресу. Вы не хотите возиться с паролями, разрешениями и прочими ужа сами. Нужен простой, общедоступный, анонимный файловый сервер для хране ния и выборки файлов пользователями.
Решение
Установите Samba на компьютере с системой Linux, которому будет отведена функция файлового сервера. Затем создайте на сервере Samba общие каталоги.
Клиенты Windows должны входить в одну рабочую группу (в данной главе она будет называться «workgroup»). На клиентах Windows должна быть установлена
поддержка TCP/IP и протокол клиента сетей Microsoft. Если вы предпочитаете устанавливать Samba по исходным текстам, то общий архив samba-tatest.tar.gz можно будет загрузить по адресу http://www.samba.org.
Пользователям RPM для построения сервера потребуются пакеты samba, sambaclient и samba-doc, а пользователям Debian — пакеты samba, samba-common, smbclient
и samba-doc. После установки создайте на компьютере Samba каталог для хранения общих файлов и заполните его файлами для тестирования:
# mkdir -m 777 /sharedstuff
Затем настройте Samba для анонимного доступа. Создайте резервную копию исходного файла/etc/samba/smb.conf и замените его содержимое следующим фраг ментом:
[global]
workgroup

• workgroup
netbios name = windbag
server string = anonymous Ian file server
security = share
browseable = yes
hosts allow = 192.168.1.
[sharel]
path

• /sharedstuff
comment = testfiles
readonly = No
guest ok = Yes
Подставьте название своей рабочей группы и адрес подсети. Имя netbios выби рается произвольно и имеет длину до 15 символов; именно эта строка отобража ется в окне Сетевое окружение. Имя share должно содержать не более 12 символов.
Сохраните и закройте smb.conf. Проверьте файл на наличие синтаксических ошибок командой
$ testparm
Перезапустите Samba командой
# /etc/init.d/samba restart
В Red Hat или Fedora используйте команду
# /etc/init.d/smb restart
Теперь нужно проверить, работает ли созданная конфигурация. Выполните на сервере Samba следующую команду для вывода общих каталогов. В ответ на за прос пароля нажмите клавишу Enter, потому что пароль не задан:
$ smbclient -L windbag
Password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.0.5-Debian]
Sharename Type Comment
sharel Disk testfiles
IPC$ IPC IPC Service (anonymous Ian file server)
ADMIN$ IPC IPC Service (anonymous Ian file server)
Domain=[Workgroup] 0S=[Unix] Server=[Samba 3.0.5-Debian]
Server Comment
WINDBAG anonymous Ian file server
Workgroup Master
WORKGROUP WINDBAG
Доступные общие каталоги перечислены под заголовком Sharename. IPC$ и ADMIN$ — административные протоколы общего доступа, а не каталоги.
Если сервер Samba подключен к локальной сети, другие хосты также будут перечислены в категории Server.
Откройте окно Сетевое окружение на компьютере с системой Windows; поль зователи Windows увидят ресурсы workgroup, windbag и sharel на компьютере
windbag. Теперь они могут легко загрузить или сохранить файлы в общем ката логе.
Комментарий
Samba потребуется несколько минут, чтобы разослать информацию о себе по сети. Если при первой попытке окно Сетевое окружение окажется пустым, подождите
пару минут. Представленная конфигурация небезопасна. Директива hosts allow ограничи вает доступ локальной подсетью, что отчасти защищает от вредоносных внешних
влияний. Но файлы общего каталога открыты для всех желающих; кто угодно смо жет прочитать, изменить и удалить их. Впрочем, многие пользователи считают
эту конфигурацию удобной. Общий каталог можно сделать доступным только для чтения, чтобы пользова тели могли открывать документы, но не сохранять их. Для этого в smb.conf вклю чается директива read only = yes или writeable = по (на ваше усмотрение). Директивы настройки общих каталогов заменяют глобальные директивы, и обе категории директив заменяют конфигурацию по умолчанию, описанную в smb.conf(5). Имена общих каталогов, заключенные в квадратные скобки, содержат не более 12 символов, включая пробелы. Более длинные имена вызовут ошибки в Windows