Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:OC Windows & OC Linux. Лабораторные работы по курсу «Операционные системы»
.pdf
оказаться в ситуации, когда упомянутые накладные расходы превысят выигрыш от использования параллелизма.
Во-вторых, написание многониточных программ требует большей аккуратности, чем написание обычных программ. К стандартным проблемам, таким, как выход за границы своей памяти, висячие
ссылки и т.п., добавляются разнообразные проблемы, связанные с
параллельным программированием: тупики, условия
conditions) и самое главное – сложность кодирования.
В-третьих, многонитевые программы по целому ряду причин
труднее отлаживать, чем однониточные программы. Здесь сказывается и некоторая недоразвитость средств отладки таких приложений (хотя существуют программы, облегчающие труд программиста,
при проверке некоторых формальных признаков правильности программы), и то, что собственно сам процесс
менные характеристики выполнения программы, может привести к
ее поведению, совершенно отличному от того, при котором проявлялась ошибка, и, наконец, тот простой факт, что если раньше, например, испортить память мог только сам процесс, то сейчас это
может сделать любая из нескольких нитей процесса. В результате
наиболее
прежнему остается мозг программиста.
другие факторы, следует принимать решение о том, стоит ли использовать нити в программе или нет.
мощным средством отладки подобных программ по-
Только внимательно взвешивая все перечисленные и некоторые
отладки, изменяя вре-
гонок (race
211

ЛАБОРАТОРНАЯ РАБОТА № 10
УСТАНОВКА И КОНФИГУРИРОВАНИЕ
SAMBA-СЕРВЕРА В ОС LINUX
ЧАСТЬ I
Цель работы: получить навыки установки и настройки сервера
Samba под ОС Linux.
Теоретические сведения
В конце 1990-х годов в локальных сетях все чаще стали устанавливать компьютеры под управлением Linux. Увлеченные перспективой затрачивать для решения сложных задач относительно
небольшие ресурсы, администраторы использовали Linux даже тогда, когда это было совершенно неоправданно. Часто такими компьютерами заменяли дорогие и ненадежные серверы Windows, в результате пришлось
решать задачу взаимодействия клиентов, работающих под управлением Windows и Linux-серверов, т.е. возникла
потребность в специальном инструменте, позволяющем поддерживать новую конфигурацию сети.
Таким инструментом стал продукт Samba – сервер, обеспечивающий поддержку протокола SMB (Server Message Block – блок
сообщений сервера), который в настоящее время известен также под
названием CIFS (Common Internet Filesystem – общая межсетевая
файловая система). SMB/CIFS – это протокол, позволяющий
организовывать совместное использование файлов и принтеров и работающий на базе NetBIOS (набор протоколов, широко используемый
в сетях, содержащих компьютеры под управлением Windows).
Другими словами, Samba позволяет компьютеру под управле-
нием Linux выполнять функции файлового сервера и сервера печати
в сетях, содержащих компьютеры Windows. В настоящее время
Samba очень хорошо справляется с этой задачей,
кроме того, данный
продукт постоянно дорабатывается и дополняется новыми средствами.
При настройке Samba устанавливаются опции общего назначения, а также выбирается конфигурация конкретных разделяемых
объектов Samba (разделяемыми объектами считаются каталоги и
принтеры, которые Samba предоставляет клиентам). Опции общего
212

назначения чрезвычайно важны, так как если они установлены некорректно, то доступ к серверу станет невозможным. Кроме того,
эти настройки влияют на выполнение задач, непосредственно не
связанных с разделением файлов и принтеров. К таким задачам относится, например, идентификация компьютеров в сети NetBIOS.
Для настройки Samba используется файл smb.conf. В большинстве дистрибутивных
дующих каталогов: /etc, /etc/samba или /etc/samba.d. Подобно многим
другим конфигурационным файлам Linux, в smb.conf для обозначения комментариев в начало строки включается символ #. Остальные
строки файла разбиты на разделы, каждый из которых содержит определение разделяемого объекта. В начале раздела находится имя
разделяемого объекта, помещенное в квадратные скобки:
[
имя_разделяемого_объекта].
Последующие строки раздела определяют характеристики объекта – имя каталога, соответствующего разделяемому объекту, особенности обработки файлов и т.д. Раздел, содержащий опции общего назначения, выглядит как определение разделяемого объекта, но
таковым не является. В начале этого раздела указано имя [global].
Некоторые из опций, указанных в этом разделе,
ределены для конкретных объектов, а другие опции могут находиться только в разделе [global].
Для настройки Samba используются параметры, которые представляются в следующем формате:
параметр = Значение.
Samba позволяет использовать при указании параметров символы как нижнего, так и верхнего регистра, но в большинстве случаев
имена параметров содержат только символы
значения параметров начинаются с прописной буквы. Некоторые
значения, например имена файлов Linux, зависят от регистра символов. Ряд параметров предполагает двоичные значения; в этом случае
Yes, True и 1 являются синонимами (точно так же синонимами являются значения No, False и 0).
Секция [global] определяет некоторые переменные, которые
Samba будет использовать для определения
сам.
пакетов Linux он помещается в один из сле-
могут быть переоп-
нижнего регистра, а
Секция GLOBAL
доступа ко всем ресур-
213

Параметр workgroup определяет рабочую группу или имя домена NT.
Параметр comment аналогичен параметру NT Description для
ОС Windows NT или Description (Описание компьютера) для ОС
Windows 9x.
Параметр guest account задает имя аккаунта пользователя-гостя
(пользователь, гость получает доступ к ресурсам, для которых раз-
решен гостевой вход под этим аккаунтом). Указание guest ok = true
для разделяемого ресурса означает, что пользователи получают доступ без
пользуется учетная запись, заданная в параметре guest account.
три значения:
сурса;
теля и пароль, которые используются для входа в сеть Windows. Это
имя пользователя затем будет
доступа ко всем ресурсам. Это значение используется по умолчанию;
машина.
ректного отображения русскоязычных имен файлов файловой системы Windows.
по сети происходит в закодированном виде. Последние версии
Samba позволяют поддерживать
установить значение параметра encrypt password, равным yes.
ния пользователям дополнительного дискового пространства, которое необходимо им для хранения документов. Для того чтобы упростить обслуживание пользователей, в системе Samba действует специальное соглашение, связанное с использованием разделяемого
регистрации. Вернее, регистрация все же происходит, но ис-
Следующий параметр – параметр security – может принимать
share – пароль будет запрашиваться отдельно для каждого ре-
user – для аутентификации будет использоваться имя пользова-
использовано для определения прав
server – для проверки пароля будет использоваться другая SMB-
Параметры client code page и character set необходимы для кор-
В ОС Windows NT, начиная с Service Pack 3, передача паролей
эту возможность. Для этого нужно
Секция HOMES
Во многих сетях серверы Samba применяются для предоставле-
214

объекта [homes]. Если вы опишете в конфигурационном файле объект [homes], Samba будет интерпретировать его следующим образом.
• Задавать параметр path нет необходимости. Samba использует ра-
бочий каталог пользователя, обратившегося к разделяемому объекту.
• В списке просмотра разделяемый объект отображается под име-
нем, совпадающим с именем пользователя.
Если вы зададите параметр browseable = No, объект [homes] не
будет отображаться в
нем пользователя (пользователь сможет обратиться к нему, лишь
набрав его имя в адресной строке файлового менеджера).
Все остальные секции определяют разделяемый объект (файловый или принтер), именем которого является имя секции.
Основные параметры секций описаны в следующем примере:
[sample]
path = /home/samba/shared-dir
browseable = Yes
read only = No
В данном примере определяется
[sample]. В окне броузера Windows он будет отображаться как
SAMPLE.
Разделяемому объекту соответствует каталог /home/samba/
shared-dir. Если пользователь захочет просмотреть содержимое объ-
екта SAMPLE, он увидит файлы из этого каталога.
Строка browseable = Yes не является необходимой, поскольку
именно это значение параметра browseable принято по умолчанию.
Значение Yes параметра browseable указывает на то, что объект
должен присутствовать
ляемый объект из этого списка, надо указать параметр browseable =
No, но это не сделает данный объект недоступным. Пользователи,
которые знают о наличии такого объекта, могут обратиться к нему,
непосредственно указав имя объекта в строке Address броузера).
По умолчанию Samba создает разделяемые объекты, предназначенные только для чтения; клиенты
ные. Чтобы объект допускал как чтение, так и запись, необходимо
включить в состав описания параметр read only = No либо один из
его синонимов: writeable = Yes или write ok = Yes.
списке просмотра, но будет доступен под име-
разделяемый объект с именем
в списке просмотра. (Чтобы удалить разде-
не могут записывать в них дан-
215

Информация о владельце и правах доступа к файлам, входящим
в состав разделяемого объекта, остается такой же, как и в системе
Linux.
Ограничение доступа к разделяемым объектам
Samba использует различные средства контроля доступа к серверу. В качестве примера можно привести параметры hosts allow и
hosts deny и, конечно же, модель аутентификации, согласно которой
пользователь должен указывать имя и пароль. Samba также предоставляет средства контроля доступа к отдельным разделяемым объектам. Наиболее важными средствами управления доступом являются
параметры valid users и invalid users.
В качестве значений этих параметров задаются списки пользователей, которым соответственно разрешено или запрещено обращаться к разделяемому объекту. Если вы используете параметр valid
users, задайте перечень имен пользователей, разделенных пробелами. Эти пользователи получат право доступа к объекту, а для остальных доступ будет запрещен. Аналогично, параметр invalid users
используется для
создания «черного списка». Даже если пользователи, указанные в нем, имеют право обращаться ко всем остальным
объектам, доступ к данному объекту для них будет закрыт.
Помимо valid users и invalid users, для контроля доступа могут
также быть использованы параметры write list и read list. Эти параметры позволяют переопределять для отдельных пользователей установки, разрешающие чтение и запись
или только чтение.
Предположим, что вы создали разделяемый объект и поместили
в него программные файлы. Очевидно, что подавляющее большинство пользователей не должно вносить изменения в содержимое этого объекта, поэтому данный разделяемый объект целесообразно определить как предназначенный только для чтения.
Однако некоторые пользователи будут заниматься обновлением
программ, поэтому им
надо предоставить право записи. Этих поль-
зователей можно определить с помощью параметра write list.
Пример:
[control]
path = /home/samba/control
read only = Yes
invalid users = thomas susan
write list = gertrude henry
216

Установка и запуск Samba
При установке на первом этапе нужно установить пакеты samba, sambacommon и samba-client:
# rpm -ih /mnt/cdrom/Mandrake/RPMS/samba*
При этом, если вы используете другой дистрибутив (не Man-
drake, как указано в примере), перейдите в нужный каталог.
Пакет samba состоит из двух основных файлов – smbd и nmbd.
Первый из них является носителем протокола SMB, а второй обеспечивает поддержку имен NetBIOS. Сразу же
ваш компьютер будет отображаться в сети.
После установки сервисы smbd и nmbd конфигурируются как
автозапускаемые, т.е. вам не придется самостоятельно производить
никаких действий по их запуску. Возможно, вас не устраивает такой
вариант (например, в тех случаях, если обращение к ним будет производиться редко и вы хотите освободить
никто не мешает добавить их в файл конфигурации суперсервера
/etc/inetd.conf и запускать по требованию. При этом не забудьте
только отключить их автозагрузку с помощью конфигуратора системы.
Проверить, запущен ли сервер Samba, можно командой service
SMB status; в случае, если он не запущен, его необходимо запустить
командой service SMB start.
Перед запуском Samba
пользователей, которые будут работать с разделяемыми ресурсами
Samba. Для каждого пользователя должна существовать учетная запись на компьютере, осуществляющем идентификацию пользователя. В случае, если уровень безопасности user, эти учетные записи
располагаются на том же компьютере, на котором работает Samba.
Если параметр encrypted password = Yes, то необходимо для каждого
пользователя создать информацию
можно сделать командой smbpasswd -a user_name, где user_name –
имя пользователя, для которого создается запись.
сервера необходимо определить круг
о пароле в файле smbpasswd, это
217
после их настройки
память). В этой ситуации

ЧАСТЬ II
Создание сетевых ресурсов печати
для совместного использования Linux- и Windows-машинами
по протоколу SMB/CIFS, используя пакет Samba
Цель работы: получить навыки настройки сетевых принтеров
для печати на Windows принтерах с машин Linux и наоборот.
Теоретические сведения
Существует множество протоколов, позволяющих создавать
сетевые ресурсы печати. Перечислим основные из них.
• IPP – входящий в систему печати CUPS протокол разделения
ресурсов печати по сети, является основным протоколом сетевой
печати для Linux-машин;
• LPD – основной протокол сетевой печати для UNIX-машин;
• SMB – протокол, используемый Windows-машинами для соз-
дания сетевых принтеров;
• NCP – протокол, используемый в сетях Novell NetWare;
• JetDirect – созданный фирмой HP протокол сетевой печати для
подключения принтеров собственной марки непосредственно к
сети.
В данной лабораторной работе для создания ресурсов печати
будет использован протокол SMB как наиболее популярный ввиду
поддержи его Windows-системами. Настройка Linux-системы описывается для дистрибутива Red Hat 9, использующего в качестве
системы печати систему CUPS и собственную утилиту настройки
принтеров. С протоколом SMB
система CUPS работает через пакет
Samba.
Печать с Linux-машин на сетевые принтеры Windows
Допустим, у нас есть Windows-машина с «расшаренным» принтером и находящаяся в том же сегменте сети Linux-машина, с которой необходимо организовать печать на машину Windows. Для начала необходимо убедиться, что на Linux-машине стоит пакет Samba
(это можно сделать командой service smb status). Затем надо запустить входящую
в состав дистрибутива Red Hat 9 утилиту Printer.
218

Рис. 1
Configuration Tool, выбрав пункт меню Main Menu Button =>
System Settings => Printing (если вы работаете в текстовом режиме,
вам достаточно набрать команду redhat-config-printer). Нажмите в
окне утилиты кнопку New, появится окно, изображенное на рис. 1.
Нажмите Forward, появится окно, изображенное на рис. 2.
Рис. 2
219

В поле Name введите уникальное имя принтера (можете также
ввести описание принтера в поле description) и нажмите Forward.
Выберите пункт Networked Windows (SMB) в меню Select a queue
type, как показано на рис. 3.
Рис. 3
Все доступные по сети машины с разделяемыми ресурсами показываются в списке (рис. 3). Необходимо выбрать нужную вам
Windows-машину и ее сетевой принтер. Если ресурс не отображается в списке (возможно, он только недавно был подключен, и локальный мастер-браузер не внес его в список доступных ресурсов), надо
нажать Specify и вручную ввести имя рабочей группы, имя компьютера, имя ресурса, а также имя пользователя и пароль (если ресурс
не публичный).
Нажмите Forward. Утилита попытается получить доступ к принтеру. Если принтер не публичный, появится окно с требованием ввести имя пользователя и пароль для доступа к сетевому ресурсу. После введения нужных данных появится окно выбора драйвера принтера. Так как принтер сетевой и для него уже стоит драйвер на
Windows-машине, необходимо выбрать Generic->Raw Print Queue
или Generic->Postscript Printer. После выполнения вышеописанных
операций необходимо убедиться в работоспособности настроек,
распечатав тестовую страницу.
220
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
