Урок 1
Многопользовательская ОС
27 июля 1993 г. в компьютерном мире произошло событие, не воспринятое поначалу как нечто серьезное. Корпорация Microsoft объявила о новой ОС Windows NT, которой сразу же присвоила номер версии 3.1, подчеркивая тем самым преемственность с господствовавшей в то время королевой рынка операционных систем для ПК Windows 3.1. При знакомстве с новой ОС подобное сравнение вызывало только недоумение: кто же будет использовать версию Windows, работающую только на дорогих компьютерах с процессором 386DX-25 и с 12 Мбайт оперативной памяти, да и то очень медленно? Но сейчас, когда 486-ая модель с 16 Мбайт представляет собой чуть ли не самую дешевую конфигурацию для домашнего компьютера, можно только восхищаться дальновидностью руководителей Microsoft. Трехлетняя интенсивная работа по совершенствованию Windows NT и продвижению ee на рынке корпоративных сетей сделали свое дело - о Windows NT узнали, ее приняли как удобную и надежную ОС, прошедшую проверку временем. А теперь, когда до нее "дозрел" и рынок дешевых офисных и даже домашних компьютеров, "дозрела" до массового пользователя и сама система в своей новой версии Windows NT 4.0.
Пользователи ПК, не желающие отставать от последних достижений в области программного обеспечения, сейчас наверняка комфортно чувствуют себя в среде Windows 95. Отличная новость для них: то, что было наработано в Windows 95, остается в силе и в Windows NT. Подчас Windows 95 и Windows NT внешне даже трудно отличить. Но чрезмерно увлекаться поиском аналогий все же не следует: несмотря на поразительное внешнее сходство, это все-таки совершенно различные ОС. В двух словах отличительную особенность Windows NT можно сформулировать так: универсальная, т.е. многопользовательская многозадачная сетевая операционная система, по своей мощи относящаяся к тому же классу, что и, например, UNIX, но по легкости использования сравнимая с Windows 95. Думается, что серия статей под общим названием "Самоучитель игры с Windows NT" поможет довольно быстро сориентироваться и уверенно войти в мир этой новой для массового пользователя ОС.
Пользователь
Традиционно многопользовательские ОС ассоциируются с вычислительными центрами крупных предприятий. Но это не значит, что на персональном компьютере такая ОС не нужна. Долгое время подобные системы были слишком сложны как с точки зрения необходимой вычислительной мощности, так и с точки зрения обслуживания. Windows NT призвана сломать существующие на сей счет предубеждения.
Все мы уже привыкли, что если несколько людей используют один и тот же ПК (нормальная ситуация и на работе, и дома), то от программного обеспечения не следует ждать помощи, а все возникающие проблемы решаются на уровне человеческих отношений. Однако при переходе от Windows 95 к Windows NT позиция ОС в этом вопросе нуждается в переосмыслении. Операционная система сама становится активным субъектом взаимоотношений. Если предыдущие ОС являлись послушным инструментом пользователя и пытались исполнить любую его команду, то Windows NT, считая себя ответственным владельцем ресурсов компьютера, сама, c учетом, разумеется, того, кто подает команду, определяет - разрешить выполнение тех или иных действий или нет.
Для того, чтобы осуществить такой подход, у ОС должен быть, с одной стороны, способ определить, кто конкретно с ней работает в данный момент, а с другой - механизм определения прав доступа к ресурсам компьютера. В Windows NT первая часть реализована при помощи "Базы бюджетов" (Security Account Manager Database) и обязательной регистрации. Вторая - при помощи единой схемы определения прав доступа к объектам.
Каждому пользователю Windows NT соответствует строка в базе бюджетов. Бюджет содержит два ключа для идентификации пользователя - имя и пароль, плюс некоторые дополнительные характеристики. Для чего нужны два ключа входа? Первый из них (имя пользователя) необходимо знать администратору - это позволит ему задать права пользователя при работе с системой; второй (пароль) должен быть известен лишь самому пользователю - он служит для авторизации доступа. Перед тем, как начать работать за компьютером, пользователь обязательно должен пройти "регистрацию" (logon) в системе.
Регистрация
Делается это следующим образом. После загрузки операционной системы или после завершения работ за компьютером другого пользователя на экране находится единственное окно с надписью "Press Ctrl+Alt+Del to logon". Нажмите одновременно указанные три клавиши. Да, да! Это та самая комбинация, которая раньше использовалась для перезапуска компьютера, но в Windows NT сколько раз ни жми, для перезагрузки потребуется другая команда. Здесь активизирует подсистему защиты, отслеживающую, кто в данный момент работает на компьютере. В появившемся диалоговом окне введите имя и пароль. Как обычно, при вводе пароля вместо букв на экране появляются звездочки, не дающие подсмотреть пароль. По окончании ввода пользователем своих реквизитов система проверяет, есть ли в ее базе бюджетов запись с таким же именем и паролем. При положительном ответе на экране появляется рабочий стол, кнопка Start и т.п. - можно работать.
Если пользователь уходит от компьютера, ему необходимо сообщить об этом операционной системе, для чего опять следует нажать . Теперь в диалоговом окне подсистемы защиты сообщается имя текущего зарегистрированного пользователя и имеется целый ряд кнопок - вы можете опробовать все без исключения.
Logoff - закрывает все, запущенные пользователем приложения, и переводит систему в "автономный" режим. Как вы убедитесь в дальнейшем, операционная система Windows NT "живет своей жизнью", и лишь самый верхний ее слой - пользовательский интерфейс - занимается непосредственным выполнением команд пользователя.
Shutdown - закрывает все, запущенные пользователем приложения, и останавливает систему, т.е. подготавливает ее к выключению компьютера. Это и есть упоминавшаяся ранее команда для перезагрузки вашего компьютера.
Lock Workstation - не закрывает приложения пользователя, но скрывает содержимое экрана. Для того чтобы разблокировать экран, нужно снова ввести пароль. Разблокировка компьютера по силам только установившему блокировку пользователю. Администратор системы может зарегистрироваться, невзирая на блокировку, однако в этом случае все работавшие приложения пользователя снимаются с выполнения, а значит незаконченная работа будет скорее всего потеряна.
Change Password - кнопка диалогового окна подсистемы защиты, позволяющая сменить пароль. Для обычного пользователя это единственный способ смены пароля.
Бюджет
C системой Windows NT невозможно работать, не имея бюджета. Поэтому уже на стадии установки системы два пользовательских бюджета, а именно бюджеты с именами Administrator и Guest, создаются обязательно.
Administrator - самый главный пользователь операционной системы. В его задачи входит настройка и сопровождение ОС, установка дополнительного программного обеспечения, а также управление работой других пользователей. Администратор может получить доступ сам и определять права доступа других пользователей к любому ресурсу операционной системы. Однако это не "суперпользователь": кое-что система не разрешает делать даже администратору. Например, администратор не может узнать от системы пароль пользователя, а, не зная пароля, не может и производить действий "от имени" другого пользователя без его ведома. Пароль администратора задается на стадии установки системы - один из запросов программы установки так и звучит: Administrator password. Поэтому если вы только что установили Windows NT, то при первой регистрации следует указать имя Administrator и установленный только что пароль. Впоследствии администратор может в любой момент сменить свой пароль.
Guest - полная противоположность администратору. Это бюджет для временных пользователей, "гостей" операционной системы. Во время установки системы пароль данного бюджета остается пустым, но для него устанавливается признак Disabled, т.е. "закрыт". Если администратор снимет этот признак, то любой человек сможет зарегистрироваться в системе под именем Guest. Однако ему будут предоставлены лишь минимальные права, и даже настройки операционной системы, которые обычно хранятся индивидуально для каждого пользователя (например, цвет рабочего стола) для него сохраняться от сеанса к сеансу не будут.
Как же создать новый бюджет? Зарегистрируйтесь администратором и запустите приложение "Диспетчер пользователей" (User Manager) - в меню Start последовательно выберите Programs, Administrative tools, User Manager. Это программа для работы с базой бюджетов Windows NT. В верхней части появившегося окна будут перечислены уже существующие бюджеты, а команды меню предоставляют все средства для создания новых записей и работы со старыми. Из меню User выполните команду New - у вас появится шаблон для ввода информации о новом пользователе, как на рис. 2. Давайте подробно рассмотрим, какая информация требуется "Диспетчеру пользователей" для создания нового индивидуального бюджета для вашего сына.
Username - имя пользователя. Это поле должно включать от 1 до 20 символов (лучше всего использовать только латинские буквы и цифры). Имя пользователя на данном компьютере должно быть уникально. При сравнении имен пользователей система не учитывает регистр буквы. Поэтому son, Son и SON - три имени одного и того же пользователя, наберите любой из этих вариантов.
Full Name, Description - поля, предназначенные для включения в бюджет пользователя его настоящего имени и информации о нем. Укажите, например, "Костя" и "Сын", соответственно.
Password, Confirm password - здесь администратор указывает начальный пароль. Пароль может содержать до 14 символов и тут регистр букв уже имеет значение. Как и при регистрации, на экран пароль выводится звездочками. Поскольку визуально невозможно проверить правильность набора пароля, система требует дважды его набрать, чтобы исключить ошибку. Здесь вам предлагается напрячь свою фантазию.
User Must Change Password at Next Logon - этот флажок устанавливается по умолчанию и необходим для того, чтобы администратор не знал пароля пользователя. Если флажок установлен, то при первой же регистрации данного пользователя система требует сменить пароль, заданный администратором, на новый, придуманный самим пользователем. Оставляем флажок установленным.
User Cannot Change Password служит для противоположной цели - чтобы администратор наверняка знал пароль пользователя. Запрещает пользователю менять свой пароль. Оставляем флажок снятым.
Password Never Expires. Администратор Windows NT может включить алгоритм старения паролей, когда система будет заставлять каждого пользователя через определенные интервалы времени (например, каждый месяц) менять свой пароль. Это не распространяется на те бюджеты, у которых установлен данный флажок. Оставляем флажок снятым.
Account Disabled - используется администратором для того, чтобы временно закрыть доступ пользователя к системе. Оставляем флажок снятым.
Закончив заполнение бланка для нового пользователя, нажмите OK - в базу бюджетов будет добавлена новая запись.
Что изменилось в окне User Manager?
Кстати, двойной щелчок на любой строке в списке бюджетов позволит администратору изменить значение любого поля бюджета и пароль, но только не имя: для изменения имени пользователя, в меню User есть отдельная команда - Rename.
Права
Ну и какой прок, скажете вы, от того, что теперь Windows NT может определить, кто работает за компьютером - сын или родитель? Во-первых, каждый из них захочет, скорее всего, настраивать пользовательский интерфейс по своему вкусу, а во-вторых они имеют разные права на доступ к ресурсам компьютера. Попробуем поработать сначала с настройкой. Выполните следующее:
1. Зарегистрируйтесь администратором и установите какие-нибудь "обои" на рабочем столе (из Control Panel вызовите Display и выберите обои из списка Wallpaper).
2. Завершите работу как администратор и зарегистрируйтесь как пользователь Son. (При первой регистрации система запросит новый пароль - вспомните, какой флажок бюджета заставляет ее это сделать). Установите другие "обои", а полоску задач с кнопкой Start перетащите к левому краю экрана.
3. Проверьте, что при последующей регистрации администратором или сыном, индивидуальные настройки системы сохранились.
Совокупность параметров работы системы, которая устанавливается индивидуально для каждого пользователя, называется "Профилем пользователя" (User Profile). Все профили хранятся в папках под именем WINNTProfiles. Кроме пользовательских, здесь находятся две специальные папки: All Users и Default User. Первая содержит параметры рабочего стола для исходного состояния системы, когда пользователь не зарегистрирован, а также общие для всех пользователей значки и части стартового меню. Вторая используется в качестве шаблона для создания начального профиля нового пользователя.
Теперь убедимся в различии прав. Вы только что видели, как администратор создает новых пользователей. Попробуйте после этого зарегистрироваться пользователем Son и произвести аналогичные действия. Получилось? Нет. А дело в том, что в операционной системе Windows NT существует способ определять права доступа пользователей к самым различным объектам. В частности, только что вы увидели, как работает защита при доступе к системной базе бюджетов. А теперь на примере доступа к принтеру разберем, как устанавливаются права.
Установите в вашей системе (если этого еще не сделано) принтер любого типа. Для этого достаточно зарегистрироваться администратором, открыть My Computer, затем Printer, и, наконец, шаблон Add New Printer. Теперь, даже если к вашему компьютеру не подключено печатающее устройство, вы сможете в программах подавать команды печати. Чтобы выяснить, кто из пользователей имеет право на работу с данным принтером, нужно в его свойствах открыть вкладку Security и нажать на кнопку Permissions.
Права доступа к любому объекту системы задаются в виде подобного списка: в левой колонке перечисляются бюджеты, которые имеют доступ к принтеру, а в правой - тип доступа для каждого из них. Например, строка "Everyone Print" означает, что на принтере может печатать любой зарегистрировавшийся в системе пользователь. Попробуем изменить этот список. Нажмите кнопку Add. В появившемся диалоговом окне выберите пользователя Son и установите для него право No Access (предупреждение: работа с диалоговым окном несколько нетривиальна и потребует от вас сообразительности). Если вам это удалось, то в списке прав доступа появится еще одна строка: "Son No Access". В сочетании с остальными это фактически означает: на данном принтере разрешается печатать всем, кроме пользователя с именем Son. Напоследок рекомендуем проверить, что будет, если сын все же попытается что-нибудь напечатать или изменить права доступа к принтеру.
Итак, вы познакомились с тремя основными компонентами подсистемы защиты Windows NT - с базой бюджетов пользователей, с обязательной регистрацией пользователя перед началом работы и со списками прав доступа, связанными с различными объектами операционной системы. Простейший способ разрешить или запретить доступ пользователю - занести имя его бюджета в список прав доступа и установить соответствующий тип доступа. Однако заново определять права каждого нового пользователя довольно утомительно. На этот случай в базе бюджетов Windows NT существуют записи иного типа - так называемые группы.
Группы
Группы служат для косвенного распределения прав и могут включать в себя индивидуальных пользователей. В списках прав доступа множества различных объектов операционной системы может фигурировать имя группы. Тогда, поместив бюджет пользователя в группу, мы сразу косвенно выдадим ему права доступа ко всем этим объектам. Иными словами группа рассматривается как обозначение некоторой совокупности прав доступа к различным ресурсам операционной системы; включение пользователя в группу означает делегирование ему этих прав.
Создавать группы может и администратор, и даже обычный пользователь. Как правило, это приходится делать лишь на компьютерах, выполняющих роль сетевых серверов, а на офисных и домашних компьютерах вполне хватает групп, образующихся при установке операционной системы автоматически. Вот некоторые из них.
Administrators. Права пользователей, включенных в эту группу, совпадают с правами бюджета Administrator. Таким образом, в операционной системе Windows NT может быть несколько администраторов.
Guests. Группа для временных пользователей. Если пользователь является членом этой группы, то для него система не будет создавать постоянный индивидуальный профиль.
Users. Группа для обычных пользователей. Все вновь создаваемые администратором бюджеты автоматически включаются в группу Users. Для этой группы определены минимальные права, необходимые для нормальной работы. Членство в группе Users не дает права менять параметры системы, влияющие на остальных пользователей.
Power Users. Группа пользователей с расширенными полномочиями, но все же не администраторов. Члены группы Power Users имеют право осуществлять функции сопровождения системы, такие как подключение нового принтера или установку системных часов.
Управление составом групп производится при помощи уже упоминавшейся программы User Manager. В нижней части ее окна перечислены группы, имеющиеся в базе бюджетов системы. Создать новую группу очень просто: из меню User выбрать команду New Local Group и заполнить поля Name и Description. Имя группы должно быть уникальным и несовпадающим с именем пользователя.
Существует два эквивалентных способа распределения пользователей по группам. Предположим, администратор хочет дать бюджету Son дополнительные полномочия, которыми обладает группа Power Users. Для этого можно поступить так: запустить User Manager, дважды щелкнуть на строке с бюджетом пользователя Son, а в появившемся окне свойств пользователя нажать кнопку Groups. При этом возникает два списка групп. В левом перечислены те группы, членом которых пользователь является на данном компьютере (в нашем случае Son должен быть членом только одной группы Users), в правом - все остальные группы. Перенос Power Users из правого списка в левый и есть включение пользователя в указанную группу. Как видим, членство в той или иной группе можно считать свойством пользовательского бюджета.
А теперь произведем обратную операцию, но уже через свойства группы. Открыв User Manager, дважды щелкнем на строке с названием группы Power Users. Появившееся диалоговое окно свойств группы позволяет изменить поле Description, которое системой не используется и носит описательный характер и список пользователей, составляющих эту группу. В нашем случае в группу Power Users входит один лишь Son. При помощи кнопки Add производится включение других пользователей в группу, но мы произведем обратную операцию. Выделив строчку с пользователем Son и нажав Remove, мы исключим его из группы Power Users.
(Продолжение в следующем номере)
Люцарев Василий Сергеевич - научный руководитель учебного центра компании "Весть". Контактный тел.: (095) 115-60-01.