Ключевые слова:samba, suse, linux, (найти похожие документы)
From: soap <nekr@mail.ru.>
Date: Mon, 15 Feb 2010 17:02:14 +0000 (UTC)
Subject: Настройка Samba версии 3.2.7 под SUSE Linux Enterprise Server 11
Задача: обеспечить файловое хранилище (файловый сервер) для локальной
сети пользователей ОС Windows. Создать два общедоступных каталога; один
с разрешением для всех пользователей на запись и изменение, второй с
разрешением для всех пользователей только на чтение. Для второго
каталога разрешить доступ с разрешением на запись только для
определенного пользователя или группы пользователей (для примера будем
использовать одного пользователя, условно назовем его admin). Первый
каталог условно назовем rw (доступ для всех), второй files (доступ для
всех только на чтение, для пользователя admin полный доступ).
Часть первая: подготовка сервера.
Выбор дистрибутива Linux для создания файлового сервера затрагивать не
будем. Мы использовали SUSE Linux Enterprise Server 11. Во время
установки сразу выберите все необходимое вам для работы ПО, так же не
забудьте установить Samba Server из раздела файловый сервер, просто для
того чтобы после установки сразу приступить к конфигурации Samba. SUSE
Linux Enterprise Server имеет хорошо проработанный установщик, поэтому
проблем во время установки возникнуть не должно. Если вы не указывали
установку Samba во время установки системы, используйте YaST (центр
управления системами SUSE - позволяет управлять конфигурацией всей
системы, а так же включает в себя менеджер пакетов; наберите yast в
командной строке для перехода в центр управления или выберите
соответствующий пункт в системном меню); для установки Samba из YaST
выберите Software Management из раздела Software, воспользуйтесь поиском
и установите необходимые пакеты.
Перед началом настройки Samba рекомендую отключить сетевой экран Linux
(в SUSE Linux это так же можно сделать, используя YaST); после
завершения настройки и тестирования сервера, нужно будет снова включить
сетевой экран и настроить его под ваши нужды (здесь мы не будем
рассматривать настройку сетевого экрана, будем исходить из того, что он
отключен).
Проверить установлен ли пакет Samba в вашей системе, а заодно и узнать
его версию можно используя команду:
linux-box:~ # smbd -V
Version 3.2.7-11.6-2057-SUSE-CODE11
Часть вторая: настройка Samba.
Samba хранит свои файлы в /etc/samba/. здесь находится основной
конфигурационный файл с которым мы будем работать - smb.conf.
linux-box:~ # cd /etc/samba/
linux-box:/etc/samba # ls -l
total 68
-rw-r--r-- 1 root root 198 Feb 9 13:25 dhcp.conf
-rw-r--r-- 1 root root 249 Feb 24 2009 lmhosts
-rw------- 1 root root 45056 Feb 9 15:52 secrets.tdb
-rw-r--r-- 1 root root 1329 Feb 10 09:19 smb.conf
-rw------- 1 root root 513 Feb 24 2009 smbfstab
-rw------- 1 root root 394 Feb 10 17:34 smbpasswd
-rw-r--r-- 1 root root 379 Feb 24 2009 smbusers
linux-box:/etc/samba #
Перед началом работы скопируйте smb.conf в smb.conf.example (к примеру),
чтобы сохранить оригинальный файл и если нужно вернуться к нему:
linux-box:/etc/samba # cp smb.conf smb.conf.example
Откройте smb.conf в текстовом редакторе, который для вас наиболее
удобен; я использую редактор vi:
linux-box:/etc/samba # vi smb.conf
Конфигурационный файл Samba поделен на разделы, которые заключены в
квадратные скобки. В разделах задаются параметры в виде Параметр =
значение, определяющие конфигурацию раздела. Раздел [global] отвечает за
настройки сервиса в целом, остальные разделы отвечают за каталоги и
ресурсы для общего доступа.
Для нашей задачи мы будем использовать три раздела: [global] - для
задания глобальных настроек для Samba и [rw] и [files] - для создания
ресурсов общего доступа, имена разделов определят названия каталогов ,
какими их будет видеть пользователь. Примерно так должен выглядеть файл
smb.conf:
[global]
#настраиваем принадлежность к раб. группе
workgroup = AUDIT
netbios name = fileserver
server string = File Server
#задаем уровень журналирования
log level = 1
#настраиваем параметры безопасности
encrypt passwords = yes
passdb backend = smbpasswd
security = share
hosts allow = 192.168.0.0/24
hosts deny = all
#оптимизируем производительность
read raw = yes
write raw = yes
socket options = TCP_NODELAY IPTOS_LOWDELAY
socket options = SO_KEEPALIVE
#задаем кпараметры кодировки
unix charset = UTF-8
dos charset = cp1251
store dos attributes = yes
#запрещаем серверу быть master browser и сервером времени для локальной сети
local master = no
time server = no
#задаем размер файла журнала
max log size = 10
#отключаем поддержку принтеров
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
[rw]
comment = public folder
path = /home/public
writable = yes
printable = no
guest ok = yes
read only = no
[files]
comment = read only catalogue
path = /home/admin
writable = no
write list = admin
printable = no
browsable = yes
read only = yes
guest ok = yes
Теперь нужно создать каталоги для общих ресурсов в системе. Создадим
каталог для ресурса [rw] и определим владельцем каталога пользователя
nobody:
linux-box:/etc/samba # mkdir /home/public
linux-box:/etc/samba # chown -R nobody:nobody /home/public/
Создадим каталог для ресурса [files] и добавим в систему пользователя
admin для доступа к этому каталогу и зададим для него пароль:
linux-box:/etc/samba # mkdir /home/admin
linux-box:/etc/samba # useradd -G users -d /home/admin/ -s /bin/false admin
linux-box:/etc/samba # passwd admin
Осталось только добавить пользователя admin в базу пользователей Samba,
для этого воспользуемся утилитой smbpasswd:
linux-box:/etc/samba # smbpasswd -a admin
Теперь можно запустить демон Samba и добавить его в автозагрузку:
linux-box:/etc/samba # /etc/init.d/smb start
Starting Samba SMB daemon done
linux-box:/etc/samba # chkconfig smb on
linux-box:/etc/samba # chkconfig nmb on
Для того, чтобы подключить ресурс [files] на Windows клиенте с правами
на запись, используйте мастер Подключить сетевой диск, пропишите путь
\\fileserver\files и укажите подключение от другого пользователя,
введите имя пользователя admin и пароль который вы указали при
добавлении пользователя в базу Samba.
Коротко о значения параметров используемых в smb.conf:
workgroup = AUDIT
Определяет рабочую группу в которой будет находится сервер.
netbios name = fileserver
NetBIOS имя сервера
server string = File Server
Описание сервера
log level = 1
Уровень журналирования (низкий уровень повышает производительность)
encrypt passwords = yes
Использовать шифрованные пароли
passdb backend = smbpasswd
Использовать smbpasswd для базы пользователей
security = share
Уровень безопасности share
hosts allow = 192.168.0.0/24
Разрешает доступ к серверу только из сети 192.168.0.0/24
hosts deny = all
Запрещает доступ для всех остальных
read raw = yes
Повышает производительность
write raw = yes
Повышает производительность
socket options = TCP_NODELAY IPTOS_LOWDELAY
Повышает производительность
socket options = SO_KEEPALIVE
Повышает производительность
path = /home/public
Путь к каталогу для ресурса
writable = no
Запрещает запись в каталог
printable = no
Запрещает печать из каталога
write list = admin
Разрешает запись в каталог только для пользователя admin
browsable = yes
Разрешает просмотр содержимого каталога
read only = yes
Доступ только для чтения
guest ok = yes
Разрешает подключаться всем