Сетевые ресурсы Novell NetWare
В сетях Novell NetWare компьютеры четко различаются в соответствии с выполняемыми функциями:
1. Сетевые серверы (Network Server). Компьютеры, выполняющие серверные функции. В зависимости от того, какими ресурсами они управляют, их делят на файл-серверы (управляющие файловой системой сетевого сервера), серверы печати (специализируются на выполнении печатных работ в сети), серверы базы данных и т.д.
В большинстве случаев сетевой сервер совмещает в себе функции нескольких серверов, т.е. на нем могут быть одновременно запущены процессы файл-сервера, принт-сервера и сервера базы данных. Компьютеры сетевых серверов в Novell NetWare выполняют только серверные операции, т.е. на них во время работы в сети NetWare не могут выполняться посторонние приложения. Поэтому сетевые серверы в Novell NetWare называются выделенными, в отличие от систем Windows NT или UNIX, где на компьютере-сервере могут быть запущены и пользовательские приложения.
2. Рабочие станции (Workstation). Это пользовательские компьютеры, использующие свои локальные ресурсы и ресурсы сетевых серверов. В сети Novell NetWare рабочая станция не может выделять свои локальные ресурсы для их использования в сети, поэтому говорят, что рабочая станция может выполнять только функции сетевого клиента.
В отличие от предыдущих версий NetWare 4.1. хранит информацию обо всех сетевых ресурсах централизованно в базе данных NDS. Теперь пользователю достаточно войти в дерево каталогов, чтобы получить доступ ко всем серверам, находящимся в данном дереве. Это существенно упрощает как работу пользователя в сети, так и работу администратора по управления компьютерной сетью.
В Novell NetWare реализована защита сетевых ресурсов на уровне пользователей. Каждому пользователю сетевого сервера ставится в соответствие так называемый профиль пользователя – список ресурсов, к которым пользователь может иметь доступ, а также права использования этих ресурсов. Для каждого сетевого сервера ведется отдельный список профилей пользователя.
В Novell NetWare имеются следующие категории пользователей:
1. Супервизор сети. Выполняет административные функции в сети. Имеет неограниченные права.
2. Менеджеры сети. Выполняют административные функции по управлению группами пользователей или отдельными пользователями.
3. Операторы сети. Выполняют текущее оперативное управление сетью с консоли сервера, удаленной консоли, управляют сервером печати и очередями печати в сети.
4. Обычные пользователи. Используют ресурсы сетевых серверов для решения своих задач.
Для упрощения администрирования сети в Novell NetWare имеется возможность объединения пользователей в группы. После этого привилегии доступа к ресурсам могут предоставляться не только отдельным пользователям, но и группам. Пользователь может одновременно входить в несколько групп.
В Novell NetWare имеется специальная система учета (Accounting) использования сетевых ресурсов, которая позволяет автоматически оценивать стоимость услуг по предоставлению сетевых ресурсов и вести баланс счета пользователя (Account Balance). Баланс счета – это количество денежных средств, которые пользователь имеет на своем счету для оплаты сетевых ресурсов.
Сетевые ресурсы UNIX
Сегодня UNIX используется на самых разнообразных аппаратных платформах – от персональных рабочих станций до мощных серверов с тысячами пользователей. И прежде всего потому, что UNIX – это многозадачная, многопользовательская система, обладающая широкими возможностями. Под многозадачностью понимается возможность одновременного выполнения нескольких задач (в UNIX они называются процессами) на одном компьютере. При этом функции распределения процессорного времени между задачами берет на себя операционная система.
В отличие от рассмотренных выше систем, UNIX предоставляет возможность пользователям запускать приложения на сервере и получать готовые результаты на компьютере-клиенте. Это позволяет использовать в качестве клиентов простейшие терминалы, перенося вычисления на сервер.
Использование в качестве сетевых протоколов стека протоколов TCP/IP позволяет создавать сложные многосегментные сети масштаба предприятия. Сети UNIX характеризуются почти неограниченной масштабностью (т.е. простотой добавления и удаления компьютеров и подсетей), кроме того, они поддерживают широкий спектр типов клиентских компьютеров (от простейших бездисковых алфавитно-цифровых терминалов до мощных графических станций).
Операционная система UNIX не имеет альтернативы при необходимости объединения сотен или тысяч компьютеров в одну сеть. В то же время в UNIX необходимо администрировать каждый сервер в отдельности, что является определенным недостатком с точки зрения управления компьютерной сетью в целом.
Прежде чем начать работу в UNIX, необходимо стать пользователем системы, т.е. получить имя, пароль и ряд других атрибутов.
С точки зрения системы, пользователь – не обязательно человек. Пользователь является объектом, который обладает определенными правами, может запускать на выполнение программы и владеть файлами. В качестве пользователей могут, например, выступать удаленные компьютеры или группы пользователей с одинаковыми правами и функциями. Такие пользователи называются псевдопользователями. Они обладают правами на определенные файлы системы, и от их имени запускаются задачи, обеспечивающие ту или иную функциональность UNIX.
Как правило, большинство пользователей – реальные люди, которые регистрируются в системе, запускают те или иные программы, т.е. используют UNIX в своей работе.
В системе существует один пользователь, обладающий неограниченными правами. Это суперпользователь или администратор системы.
Каждый пользователь системы имеет уникальное имя (или регистрационное имя – login name). Однако система различает пользователей по ассоциированному с именем идентификатору пользователя или UID (User Identifier). Ясно, что идентификаторы пользователей также должны быть уникальными. Пользователь является членом одной или нескольких групп – списков пользователей, имеющих сходные задачи (например, пользователей, работающих над одним проектом).
Принадлежность к группе определяет дополнительные права, которыми обладают все пользователи группы. Каждая группа имеет уникальное имя (уникальное среди имен групп, имя группы и пользователя могут совпадать), но, как и для пользователя, внутренним представлением группы является ее идентификатор GID (Group Identifier). В конечном счете UID и GID определяют, какими правами обладает пользователь в системе.
Вся информация о пользователях хранится в файле /etc/passwd. Это обычный текстовый файл, право на чтение которого имеют все пользователи системы, а право на запись имеет только администратор (суперпользователь). В этом файле хранятся пароли пользователей, правда, в зашифрованном виде. Подобная открытость – недостаток, с точки зрения безопасности, поэтому во многих системах зашифрованные пароли хранятся в отдельном, закрытом для чтения и записи файле /etc/shadow. Аналогично, информация о группах хранится в файле /etc/group и содержит списки пользователей, принадлежащих к той или иной группе.
Файлы в UNIX имеют двух владельцев: пользователя (user owner) и группу (group owner). Важной особенностью является то, что владелец-пользователь может не являться членом группы, владеющей файлом. Это дает большие возможности в организации доступа к файлам. Совместное пользование файлами можно организовать практически для любого состава пользователей, создав соответствующую группу и установив для нее права на нужные файлы. При этом для того, чтобы некий пользователь получил доступ к этим файлам, достаточно включить его в группу-владельца, и наоборот – исключение из группы автоматически изменяет для пользователя права доступа к файлам.
В операционной системе UNIX существуют три базовых класса доступа к файлу, в каждом из которых установлены соответствующие права доступа:
Таблица 1.2.
Классы доступа к файлу в ОС Unix
UNIX поддерживает три типа прав доступа для каждого класса: на чтение (read, обозначается символом r), на запись (write, обозначается символом w) и на выполнение (execute, обозначается символом х).
С точки зрения пользователя, в операционной системе UNIX существуют два типа объектов: файлы и процессы. Все данные хранятся в виде файлов, доступ к периферийным устройствам осуществляется посредством чтения/записи в специальные файлы. Когда пользователь запускает программу, ядро загружает соответствующий исполняемый файл, создает образ процесса и передает ему управление. Более того, во время выполнения процесс может считывать или записывать данные в файл. С другой стороны, функциональность операционной системы определяется выполнением соответствующих процессов. Работа системы печати или обеспечения удаленного доступа зависит от того, выполняются ли те или иные процессы в системе.
Файлы в UNIX играют ключевую роль, что не всегда справедливо для других операционных систем. Трудно отрицать значение файлов для пользователей, поскольку все их данные хранятся в виде файлов. Однако помимо этого, файлы в UNIX определяют привилегии пользователей, поскольку права пользователя в большинстве случаев контролируются с помощью прав доступа к файлам.
Файлы обеспечивают доступ к периферийным устройствам компьютера, включая диски, накопители на магнитной ленте, CD-ROM, принтеры, терминалы, сетевые адаптеры и даже память. Для приложений UNIX доступ к дисковому файлу “неотличим” от доступа, например, к принтеру. Наконец, все программы, которые выполняются в системе, включая прикладные задачи пользователей, системные процессы и даже ядро UNIX, являются исполняемыми файлами.
Как и во многих современных операционных системах, в UNIX файлы организованы в виде древовидной структуры (дерева), называемой файловой системой (file system). Каждый файл имеет имя, определяющее его расположение в дереве файловой системы. Корнем этого дерева является корневой каталог (root directory), имеющий имя “/”. Имена всех остальных файлов содержат путь – список каталогов (ветвей), которые необходимо пройти, чтобы достичь файла.
В UNIX все доступное пользователям файловое пространство объединено в единое дерево каталогов, корнем которого является каталог “/”. Таким образом, полное имя любого файла начинается с “/” и не содержит идентификатора устройства (дискового накопителя, CD-ROM или удаленного компьютера в сети), на котором он фактически хранится.
Однако это не означает, что в системе присутствует только одна файловая система. В большинстве случаев единое дерево, каким его видит пользователь системы, составлено из нескольких отдельных файловых систем, которые могут иметь различную внутреннюю структуру, а файлы, принадлежащие этим файловым системам, могут быть расположены на различных устройствах.
Заметим, что имя файла является атрибутом файловой системы, а не набора некоторых данных на диске, который не имеет имени как такового. Каждый файл имеет связанные с ним метаданные (хранящиеся в индексных дескрипторах – inode), содержащие все характеристики файла и позволяющие операционной системе выполнять операции, заказанные прикладной задачей: открыть файл, прочитать или записать данные, создать или удалить файл. В частности, метаданные содержат указатели на дисковые блоки хранения данных файла. Имя файла в файловой системе является указателем на его метаданные, в то время как метаданные не содержат указателя на имя файла.
В UNIX существуют 6 типов файлов, различающихся по функциональному назначению и действиям операционной системы при выполнении тех или иных операций над файлами:
• обычный файл (regular file);
• каталог (directory);
• специальный файл устройства (special device file);
• FIFO или именованный канал (named pipe);
• связь (link);
• сокет (socket).
Обычный файл представляет собой данные, записанные в произвольном формате, обеспечивающем чтение и запись соответствующими процессами. Для операционной системы такие файлы представляют собой просто последовательность байтов. Интерпретация содержимого файла производится прикладной программой, обрабатывающей файл. К этим файлам относятся: текстовые файлы, бинарные данные, программные файлы и т.п.
Каталог. С помощью каталогов формируется логическое дерево файловой системы. Каталог – это файл, содержащий имена находящихся в нем файлов, а также указатели на дополнительную информацию – метаданные, позволяющие операционной системе производить операции над этими файлами. Каталоги определяют положение файла в дереве файловой системы, поскольку сам файл не содержит информации о своем местонахождении. Любая задача, имеющая право на чтение каталога, может прочесть его содержимое, но только ядро имеет право на запись в каталог.
Специальный файл устройства обеспечивает доступ к физическому устройству. В UNIX различают символьные (character) и блочные (block) файлы устройств. Доступ к устройствам осуществляется путем открытия, чтения и записи в специальный файл устройства.
FIFO или именованный канал – это файл, используемый для связи между процессами. FIFO впервые появились в System V UNIX, но большинство современных систем поддерживают этот механизм.
Связь. Как уже говорилось, каталог содержит имена файлов и указатели на их метаданные. В то же время сами метаданные не содержат ни имени файла, ни указателя на это имя. Такая архитектура позволяет одному файлу иметь несколько имен в файловой системе. Имена жестко связаны с метаданными и, соответственно, с данными файла, в то время как сам файл существует независимо от того, как он назван в файловой системе. Такая связь имени файла с его данными называется жесткой связью (hard link).
Сокеты. Предназначены для взаимодействия между процессами. Интерфейс сокетов часто используется для доступа к сети TCP/IP. В системах ветви BSD UNIX на базе сокетов реализована система межпроцессного взаимодействия, с помощью которой работают многие системные сервисы, например, система печати.
Таковы основные операционные системы, используемые в корпоративных сетях. В дальнейшем излагаемая информация большей частью будет касаться операционных систем Windows 95, Windows 98 и, при специальном упоминании, Windows NT/2000 и Novell NetWare.