АКАДЕМИЯ НАРОДНОГО ХОЗЯЙСТВА
РЕФЕРАТ
На тему:
«Реализация многопользовательской системы в
Windows NT»
Группа: Ф-13
Студент: Натан В.В.
Руководитель: Кедров М.А.
г.Новосибирск
1998г.
Введение.
Windows NT по сегодняшний день является новшеством на широком рынке
операционных систем. Windows NT официально была объявлена корпорацией
Microsoft 27 июля 1993г, с номером версии 3.1, подчеркивая
преемственность от господствовавшей в то время системы Windows 3.1.
Однако Windows NT появилась как совершенно новая система Windows, базой
создания которой, фактически, была операционная система OS/2 -
совместная в прошлом разработка корпорации Microsoft и фирмы IBM.
Появившись на широком рынке операционных систем, Windows NT преподнесла
сразу множество не применявшихся раннее свойств в характеристику
операционных систем для персональных компьютеров (в том числе
непрофессиональных пользователей). Эти свойства до ОС Windows NT
считались характерными чертами проффессиональных, сложных ОС (например,
UNIX - системы): действительно многопользовательская, действительно
многозадачная (с вытесняющей многозадачностью) сетевая ОС. Windows NT,
достигнув мощности ОС класса UNIX, легкостью использования сравнима с
Windows 95.
В настоящем реферате будет затронута лишь одна подсистема операционной
системы Windows NT версии 4.0 - реализация многопользовательской системы
разделения контроля, ресурсов и файлов ОС на локальном ПК.
1. Необходимость многопользовательской ОС.
На практике часто наблюдается использование ПК более чем одним
пользователем, что в значительной мере усложняет работу каждого
пользователя, повышая вероятность сбоя системы, потери данных и
программного обеспечения на совместно используемом ПК ввиду
несогласованных действий пользователей, а также разным уровнем их
подготовки. Актуальным моментом является сохранение секретности
информации, находящейся на ПК - ограничение доступа пользователей к
ресурсам и файлам ПК. Еще одним важным фактором необходимости
многопользовательской среды является требование различных настроек
системы, используемых разными пользователями.
Долгое время многопользовательские ОС были слишком сложны и громоздки
как с точки зрения необходимой вычислительной мощности, так и с точки
зрения обслуживания. Windows NT практически первая ОС, предлагающая
широкому рынку пользователей разрешение указанных сложностей на
эффективном и удобоиспользуемом уровне. Реализацию многопользовательской
подсистемы Windows NT можно разбить на два подуровня: первый -
разделение ресурсов ПК (с их настройкой под каждого пользователя), и
второй - разделение доступа к данным и программному обеспечению ПК
(разделение доступа к файлам).
2. Реализация механизма разделения ресурсов ПК многопользовательской
подсистемы Windows NT.
Если большинство предыдущих ОС являлись инструментом пользователя и
пытались исполнять любую его команду (из Windows - систем некоторые
удобства многопользовательской среды предоставлял лишь Windows 95 –
профили пользователя, «плавающего» пользователя, разделение доступа к
сетевым ресурсам), то Windows NT является ответственным владельцем
ресурсов компьютера. Многопользовательская подсистема Windows NT
определяет, на основании конфигурации администратора системы, разрешить
выполнение тех или иных действий пользователю или нет. Для того, чтобы
осуществить такой подход, у ОС должен быть, с одной стороны, способ
определения пользователя, а с другой - механизм определения прав доступа
к рессурсам компьютера. В Windows NT первая часть реализована при помощи
механизма обязательной регистрации (logon) и "Базы бюджетов" (Security
Account Manager Database). Вторая - при помощи единой схемы определения
прав доступа к объектам. Рассмотрим указанные части подробнее.
2.1. Обязательная регистрация и "Базы бюджетов".
Каждому пользователю Windows NT соответствует строка в базе бюджетов.
Бюджет содержит два ключа для идентификации пользователя - имя и пароль.
Первый из них (имя пользователя) необходимо знать администратору - это
позволит ему задать права пользователя при работе с системой; второй
(пароль) должен быть известен лишь самому пользователю - он служит для
авторизации доступа. Перед началом работы каждый пользователь проходит
обязательную регистрацию (logon) в системе. После загрузки операционной
системы или после завершения работы с компьютером другого пользователя
на экране находится единственное окно с надписью "Press Ctrl+Alt+Del to
logon". Требуется нажать все три клавиши одновременно. Эта комбинация
клавиш во всех предыдущих версиях Windows использовалась для перезапуска
компьютера (двойное нажатие для Windows 95), но в Windows NT после
нажатия
++ происходит вызов менеджера подсистемы защиты
(службы безопасности) ОС. В появившемся диалоговом окне пользователю
предлагается ввести имя и пароль входа в систему. При этом ввод пароля
скрывается от постороннего наблюдателя (на экран выводятся символы "*"
вместо символов пароля). По окончанию ввода пользователем своих
реквизитов система сравнивает введенную информацию с собственной базой
бюджетов пользователей, и в случае опознания пользователя производит
вход в систему, с доступом к ресурсам, ограниченным правами,
перечисленными в соответствующей записи базы бюджетов. Если пользователь
пожелает воспользоваться менеджером подсистемы защиты в процессе работы
(вызвав его опять же ++), то система предоставит ему
возможность:
закрыть все запущенные приложения (кнопка Logoff окна менеджера);
закрыть все запущенные приложения и остановить систему - подготовит
систему к перезапуску или выключению компьютера (кнопка Shutdown);
скрыть содержимое экрана не закрывая приложений и заблокировать систему.
Для разблокировки понадобится снова ввод пароля пользователя (кнопка
Lock Workstation), причем разблокировать систему сможет только
пользователь заблокировавший ее (администратор системы также сможет
зарегистрироваться, не взирая на блокировку, но при этом система закроет
все приложения, запущенные предыдущим пользователем (даже с потерей
данных), чтобы предотвратить работу администратора в системе от имени
пользователя);
сменить пароль пользователя - единственный способ смены пароля для
обычного пользователя (кнопка Change Password).
С системой Windows NT невозможно работать, не имея бюджета. Поэтому уже
на стадии установки системы два пользовательских бюджета, а именно
бюджеты с именами Администратор (Administrator) и Гость (Guest),
создаются обязательно.
Администратор - самый главный пользователь операционной системы. В его
задачи входит настройка и сопровождение ОС, установка дополнительного
программного обеспечения, а также управление работой других
пользователей. Администратор может получить доступ сам и определять
права доступа других пользователей к любому ресурсу операционной
системы. Однако администратор также ограничен системой в некоторых своих
действиях: администратор не может получить у системы пароль
пользователя, а значит, не сможет производить никаких действий в системе
от имени пользователей. Пароль администратора задается на стадии
установки системы - один из запросов программы установки. Впоследствии,
администратор может в любой момент сменить свой пароль.
Гость - бюджет временных пользователей ОС с минимальными правами (однако
на самом деле существует несколько классов пользователей, их мы
рассмотрим далее). Никакие настройки среды ОС временному пользователю не
доступны.
Новый бюджет (пользователь) создается только администратором с помощью
диспетчера пользователей (User Manager) - приложения Windows NT для
работы с базой бюджетов пользователей. В верхней части окна приложения
перечислены уже существующие бюджеты, а команды меню предоставляют все
средства для создания новых записей и работы со старыми. Команда New -
добавление нового пользователя. Теперь в шаблон данных о пользователе
заносится имя (уникальное) нового пользователя (поле Username), полное
имя пользователя (Full Name) и информация о нем (Description), пароль
первого вхождения пользователя в систему (Password), флажок скрытия в
дальнейшем пароля пользователя от администратора (при первом входе
пользователя в систему ему будет предложено сменить пароль) - по
умолчанию установлен (User Must Change Password at Next Logon), флажок
запрета смены пароля пользователем (User Cannot Change Password), флажок
алгоритма старения пароля (Password Never Expres), и флажок временного
отключения пользователя от системы (Account Disabled).
Зарегистрировав нового пользователя, администратор может установить ему
права доступа к системе, а сам пользователь может производить настройку
установок системы (разрешенных к изменению данному пользователю) под
свои надобности. После регистрации нового пользователя системы
администратор может установить индивидуальные права доступа пользователя
к ресурсам ПК. Для этого, например, можно разрешить или запретить доступ
пользователя к определенному устройству, указав имя этого пользователя в
списке разрешения доступа любого устройства. Однако это сложный путь
установки прав доступа. Для упрощения предоставления прав служат группы
пользователей (Groups), в которые можно объединять всех пользователей
системы. Это можно сделать там же - в приложении диспетчера
пользователей. При этом каждому пользователю предоставляются права
доступа его группы. Администратор системы может создавать новые группы
пользователей, либо использовать имеющиеся в системе.
После установки Windows NT, система предоставляет администратору
следующие группы:
группа администраторов (Administrators) - полные права с созданием
личного профиля каждого администратора;
группа временных пользователей (Guests) - минимальные права без личных
профилей;
группа обычных пользователей (Users) - минимальные права с созданием
личных профилей;
группа пользователей с расширенными полномочиями (Power Users) – группа
пользователей, имеющая права обычных пользователей плюс некоторые
дополнительные права по сопровождению системы (установка новых
устройств, настройка некоторых устройств).
Для распределения пользователей по группам в окне диспетчера
пользователей необходимо нажать кнопку Group, вызванный диалог
предоставляет возможность легко присоединять/отсоединять пользователей
от группы и переводить их из одной группы в другую.
2.2. Разделение доступа к данным и программному обеспечению.
Разделение доступа к данным и программному обеспечению в ОС Windows NT
осуществляется на базе файловой системы NTFS. В состав операционной
системы Windows NT входит пакет файловой системы NTFS - одной из
файловых систем поддерживаемых Windows NT. NTFS не является необходимым
компонентом ОС Windows NT, однако ее применение дает несколько
преимуществ: во-первых это практически бессбойная файловая система,
имеющая высокую надежность корректного обращения с данными даже при
несвоевременном отключения питания ПК, далее - это файловая система,
позволяющая значительно эффективнее чем, скажем, FAT16 - система
использовать пространство дискового накопителя (благодаря меньшему
размеру кластера), далее - это файловая система, компонентом которой
является алгоритм сжатия данных, хранимых на диске (этот алгоритм
применяется по желанию пользователя к указываемым им файлам, директориям
или дискам), и, наконец, это файловая система, которая применяет к
каждому файлу алгоритм запрета/разрешения доступа. На основании
последнего свойства операционная система Windows NT строит
подсистему разделения доступа к данным и программному обеспечению ПК.
Механизм построения этой подсистемы следующий: при входе в систему, как
уже говорилось, каждый пользователь проходит обязательную регистрацию.
После этого, на основании записи в базе бюджетов, системе известно какой
пользователь и с какими правами доступа работает в системе. Поэтому,
основываясь на базе бюджетов пользователей система осуществляет
разрешение или запрет доступа пользователя к файлам дисковой подсистемы.
Соответственно, каждый файл NTFS обладает дополнительными свойства,
которые можно увидеть и откорректировать (имея доступ) войдя в окно
Свойства->Безопасность (Propertis->Security) любого файла. Если в
указанном окне выбрать команду Разрешения (Permission) - откроется
диалоговое окно управления правами пользователей на доступ к данному
файлу. В списке прав доступа каждая строка содержит некоторое разрешение
или запрет для одного из пользователей или для группы.
Так например, список прав доступа одного из файлов имеет вид:
Administrators Full Controll (All)
Everyone Read (RX)
User1 Change (RWXD)
User2 No Access
Эти строки указывают, что члены группы Administrators имеют полный
доступ к файлу (чтение/запись, удаление, изменение атрибутов),
пользователь с именем User1 - обладает правами чтения/записи файла,
пользователь с именем User2 - не допущен к файлу вообще (и даже не
обнаружит его), а все остальные пользователи (Everyone) - только правом
чтения файла.
В момент, когда запущенная пользователем программа пытается открыть
любой файл, Windows NT использует список прав доступа активного
пользователя для того, чтобы разрешить, либо запретить ему использование
этой операции. Принимая решение, система просматривает список прав
доступа строка за строкой и "складывает" разрешения из всех тех строк,
где фигурирует бюджет пользователя или группа, в которую тот входит.
Разрешения строятся из отдельных элементарных прав. Всего их шесть:
"R" (Read) - чтение из файла,
"W" (Write) - запись в файл,
"X" (eXecute) - запуск исполняемого кода из файла,
"D" (Delete) - уничтожение файла,
"P" (change Permission) - изменение прав доступа к файлу,
"O" (take Ownership) - стать владельцем файла.
При помощи пункта Specisl Access... возможно задать любую комбинацию
элементарных прав доступа к файлу каждому пользователю или группе.
Например, установка права "X" для всех пользователей будет означать, что
любой пользователь сможет запустить некоторый исполняемый файл, но не
сможет сделать его копию.
Особого рассмотрения требует право владельца файла. В чем его
особенность? Рассмотрим, например, следующую ситуацию: некоторый
неопытный пользователь случайно полностью закрыл доступ к файлу
(достаточно нажать кнопку Remove и очистить список прав доступа). Теперь
никто, даже администратор, не сможет ни воспользоваться, ни даже удалить
указанный файл. Для решения данной проблемы у каждого файла NTFS имеется
владелец (Owner). Владельцем файла является тот, кто его создал.
Например, при копировании файла в свой директорий владельцем копии
становится копирующий пользователь, независимо от того, кто был
владельцем файла-оригинала.
Есть только одна операция в Windows NT, которая изменяет владельца файла
- элементарная операция "O" (take Ownership). У владельца файла по
сравнению с другими пользователями есть только одна, но существенная
привилегия: он всегда может управлять правами доступа к файлу. Иными
словами он всегда неявно обладает правом "P". Администратор Windows NT
точно так же подчиняется правилам системы засчиты, как и все остальные
пользователи. Например, если для группы Administrator установлен No
Access, то администратор не сможет оперировать файлом. Но все же
администратору в целях сохранения целостности системы дозволено изменять
владельца файла (например на случай, когда один из пользователей (или
целая группа пользователей) исключается из списка лиц, получающих доступ
к ПК).
Так же как и для файлов, с каждой папкой и каждым диском NTFS связан
список прав доступа. Однако в случае папок и дисков список прав
несколько усложняется. Этот список прав можно увидеть, проделав те же
операции, что и для просмотра списка прав файла, только по отношению к
папке (диску). Например, список прав доступа к папке может иметь
следующий вид:
Everyone Change (RWXD)(RWXD)
Один раз аббревиатура прав доступа (RWXD, причем операция "X" в этом
случае означает разрешение/запрет создания вложенной папки) показывает
список прав доступа к папке (диску), второй - является "наследством",
которое передается всем создаваемым в этой папке (на этом диске) файлам.
Права
Administrator Full Control (All)(All)
Everyone Special Access (RWXD)(RWXD),
устанавливаются системой новым папкам (если новая папка не вложена в
другую, имеющую специфический список прав) и дискам по умолчанию. Если
изменить список прав Everyone на (RWX)(RWX), то все пользователи (кроме
администратора) смогут записывать в эту папку (на этот диск) новые
файлы, редактировать их, запускать исполняемые файлы, но не смогут
удалить ни одного файла.
Еще одним важным параметров является системное имя CREATOR OWNER - на
предъявителя. Например, если в папку со списком прав:
CREATOR OWNER Full Control (All)(All)
Everyone Special Access (RWX)(Not specified)
пользователь User1 добавит файл, то список прав доступа этого файла
приймет вид:
User1 Full Control (All)(All).
Таким образом, комбинируя различные виды установок списка прав доступа
файлов, папок и дисков возможно создание однозначной, мощной и легко
используемой системы разделения прав доступа к файлам дисковой системы
NTFS.
Заключение
Вышеизложенное описание многопользовательской подсистемы Microsoft
Windows NT Workstation V4.0 затрагивает лишь некоторые основные аспекты
ее возможностей. К тому же, все сказанное касается лишь точки зрения
пользователя, и совсем не раскрывает методы программной реализации
подсистемы. Совсем не затронутой осталась тема “Плавающего
пользователя”, - одной из служб системы Microsoft Windows NT server
V4.0, которая также является частью многопользовательской подсистемы
Windows NT.
Основной трудностью раскрытия выбранной темы реферата являлось малое,
на сегодняшний день, количество литературы, посвященной использованию и
реализации операционной системы Windows NT. В процессе подготовки
настоящего материала использованы, в основном, периодические издания –
журнал «Компьютер Пресс» (`96, `97, `98), «Мир ПК» (`96, `97, `98),
газета «Компьютер&Бизнес» (`97, `98) и др.