Иллюстрированный самоучитель по Linux Red Hat 7.1

Конфигурирование 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 создает

/var/ spool / samba)

Как и для домашних каталогов, значение по гарантирует, что пользоваться принтерами могут только пользователи с правом доступа

Этот параметр должен иметь значение 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


Содержание раздела