Конфигурирование
Samba
Записи конфигурации
Samba находятся в файле /etc/smb. conf. Файл smb. conf состоит из множества
записей, которые содержат заголовок и ряд параметров. Например, следующая последовательность
позволяет совместно использовать в сети каталог / trap.
[temp]
comment
= Temporary file space path = /tmp read only = no public = yes
Заметьте:
заголовок помещен в квадратные скобки ([temp]), каждый параметр записан в отдельной
строке, имеющей жестко заданную структуру:
параметр
=
значение.
Секция
[global]
Большинство
файлов smb. conf начинаются с секции [global], в которой указываются некоторые
важные параметры, определяющие общее поведение Samba. Обычно секция [global]
содержит следующие параметры:
printing
-
указывает на используемый тип системы печати; для последних
версий систем Linux - это iprng.
printcap
name
-
указывает местоположение файлаprintcap; обычно это /etc/printcap.
load printers
-
указывает, будут ли совместно использоваться
принтеры.
guest account
-
задает, какой пользователь Linux
используется для установки гостевых соединений. Большинство администраторов
Linux указывают nobody из-за сильного ограничения привилегий.
workgroup
-
указывает, к какой рабочей группе или домену принадлежит сервер
Samba.
security
-
предписывает, как аутентифицировать пользователей для доступа
к ресурсам системы. Доступны четыре значения: user, server, domain и share.
user
- если для данного параметра установлено значение user, то Samba проводит
аутентификацию с использованием файла локальных паролей Unix. Это наиболее часто
используемый способ (и самый простой).
server
-
если для параметра установлено значение server, Samba проводит
аутентификацию при помощи доменного сервера Windows NT/2000, заданного параметром
password server. Другой Samba-сервер может работать в режиме эмуляции доменного
сервера Windows NT/2000.
domain
-
требует задания NetbiOS-имени для Samba-сервера доменного контроллера
Windows. NetbiOS-имя обычно совпадает с хост-именем, если имеет длину не более
15 символов.
share
-
для установки Linux как части одноранговой сети (peer-to-peer
network) на уровне рабочей группы microsoft Windows.
Рассмотрим
следующую секцию [ global ] в файле smb. conf сервера Landegg Academy:
[global]
printing
= iprng
printcap
name = /etc/printcap
load
printers = yes
guest
account = nobody
workgroup
= testgroup
security
= user
В этой секции
определен тип системы печати, для гостевого доступа указан пользователь Linux
nobody, сервер объявлен членом рабочей группы Windows testgroup и указано, что
Samba использует для аутентификации локальный файл паролей Unix / etc/passwd.
Секция
[homes]
Секция [homes]
предписывает, как совместно использовать домашние каталоги пользователей в сети
Windows. Если такая секция отсутствует, необходимо индивидуально разделять домашние
каталоги пользователей, как описано ниже.
Рассмотрим
следующую секцию [homes] файла smb. conf.
[homes]
comment
= Home Directories browseable = no
read only = no preserve case = yes
short
preserve case = yes create mode = 0750
Параметр comment
содержит дополнительную информацию о секции, но не влияет на ее выполнение.
Параметр browseable используется для определения того, могут ли другие пользователи
просматривать каталог; указание по разрешает доступ к каталогу только пользователям
с соответствующими правами. Для параметра read only задано значение по, следовательно,
пользователи могут и читать, и записывать файлы в свои домашние каталоги. Параметры
preserve case и short preserve case гарантируют, что нечувствительные к изменению
регистра символов системы Windows не будут изменять буквы в именах файлов, поскольку
Linux различает регистр. Завершающий параметр create mode определяет, какие
права доступа давать файлам, созданным пользователями, работающими через Samba;
0750 определяет, что файлы доступны для чтения, записи и выполнения для владельца,
доступны для чтения и выполнения для файловой группы, для всех остальных пользователей
доступ к файлам запрещен.
Для доступа
пользователя из системы Windows к домашнему каталогу в качестве имени разделяемого
каталога используется пользовательское имя. Например, для пользователя username
обращение к домашнему каталогу на smbserv означает обращение к совместно используемому
\\smbserv\username.
Секция
[printers]
В секции [homes]
домашние каталоги предназначены для совместного использования. Аналогично, в
секции [printers ] все принтеры Linux предназначены для совместного использования
в сети Windows.
В табл. 29.1
описаны типичные параметры секции [printers ].
Табл.
29.1.
Параметры секции [Printers]
Параметр
|
Описание
|
||
comment path
browseable
printable
public
writable
create
mode
|
Содержит информацию
о секции, но не влияет на ее выполнение
Указывает путь
спуллинга spool; пользователь может создать свой собственный каталог
spool для Samba (например, Red Hat Linux создает
Как и для домашних
каталогов, значение по гарантирует, что пользоваться принтерами могут
только пользователи с правом доступа
Этот параметр
должен иметь значение yes, иначе печать не будет работать (как можно
печатать на непечатающем принтере?)
Если установлено
значение yes, то гостевые подключения смогут пользоваться услугами
печати; во многих сетях для этого параметра задают значение по для
предотвращения чрезмерной загрузки принтера гостевыми пользователями
Принтеры не допускают
запись, поэтому данный параметр должен иметь значение по
Определяет разрешения
для файлов spool, созданных при печати; обычно для этого параметра
задают значение 0700
|
||
Все эти параметры
используются для написания типичной секции [printers]. Приведем пример секции
[printers ], заданной по умолчанию в Red Hat Linux.
[printers]
comment = All Printers path = /var/spool/samba
browseable = no printable = yes public = no
writable
= no create mode = 0700
Доступ к принтерам
Linux с рабочих станций Windows осуществляется так же, как и к каталогам. Разделяемое
имя - это имя принтера Linux в файле printcap. Например, чтобы получить доступ
к принтеру printername на smbserv, пользователи Windows должны обратиться к
\\smbserv\printername.
Совместное
использование каталога для общего доступа
Иногда необходимо
создать общедоступный каталог, который будет использоваться всеми пользователями
только для чтения. Рассмотрим следующую запись.
[public]
path
= /public/directory public = yes read only = yes printable = no
Эта запись
создает каталог для совместного использования с именем public, который доступен
для всех пользователей (public = yes), но только для чтения (read only = yes).
Рассмотрим
другой пример: каталог для совместного использования с именем / tmp - общедоступный
временный каталог, который используется для чтения и записи всеми пользователями.
Такой каталог создается при помощи следующей записи.
[temp]
path
= /tmp read only = no public = yes
Совместное
использование каталога для персонального доступа
Кроме совместного
использования каталогов для общего доступа, иногда необходимо создавать совместно
используемые каталоги, доступные для ограниченного количества пользователей.
Рассмотрим
случай совместного использования каталога /private/directory как разделяемого
ресурса с именем private. Предположим, что этот каталог доступен лишь трем пользователям:
user1, user2 и user3. Такой каталог создается следующей записью.
[private]
path = /private/directory valid users = user1 user2 user3
public
= no writable = yes printable = no create mask = 0765
Обратите внимание
на использование нового параметра: valid users. Этот параметр в качестве значения
имеет список пользователей, которым разрешен доступ к ресурсу. Имена пользователей
разделены пробелами.
Также обратите
внимание на то, что параметр public имеет значение по для предотвращения нежелательного
просмотра информации, а параметр writable - значение yes. Следовательно, это
ресурс с полноценными возможностями записи.
Полная
конфигурация
Разместим
все рассмотренные секции в файле smb. conf .При этом необходимо учитывать два
момента.
Приведем пример
такого файла.
;
Пример smb. conf
;
Общие установки [global]
printing
= bsd
printcap
name = /etc/printcap
load
printers = yes ; Установить гостевого пользователя - nobody
guest
account = nobody
workgroup
= testgroup
security
= user
;
Экспортировать все домашние каталоги в сеть [homes]
comment
= Home Directories
browseable
= no
read
only = no
preserve
case = yes
short
preserve case = yes
create
mode = 0750
;
Сделать все принтеры доступными для сети [printers]
comment
= All Printers
path
= /var/spool/samba
browseable
= no
printable
= yes public = no writable = no create mode = 0700
;
Создать общедоступный каталог только для чтения [public]
path
= /public/directory
public
= yes
read
only = yes
printable
= no
;
Предоставить общедоступный временный каталог [temp]
path
= /tmp read only = no public = yes
;
Экспортировать личную рабочую область userl, user2 и изегЗ [private]
path
= /private/directory
valid
users = userl user2 user3
public
= no
writable
= yes
printable
= no
create mask = 0765