Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

OC Windows & OC Linux. Лабораторные работы по курсу «Операционные системы»

.pdf
Скачиваний:
0
Добавлен:
06.09.2026
Размер:
2 Мб
Скачать
оказаться в ситуации, когда упомянутые накладные расходы превы­сят выигрыш от использования параллелизма.
Во-вторых, написание многониточных программ требует боль­шей аккуратности, чем написание обычных программ. К стандарт­ным проблемам, таким, как выход за границы своей памяти, висячие ссылки и т.п., добавляются разнообразные проблемы, связанные с параллельным программированием: тупики, условия 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
При установке на первом этапе нужно установить пакеты sam­ba, 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