
Настройка рабочих мест пользователей
Осталось сконфигурировать Access на компьютерах пользователей, чтобы защита работала и там. Для этого вам придется обойти все машины фирмы и каждую связать с вашим файлом рабочей группы (он доступен со всех машин, поскольку находится на сервере).
Связь устанавливается с помощью все той же утилиты «Администратор рабочих групп». Запустите ее, нажмите кнопку «Связь...», в появившемся окне укажите путь к файлу рабочей группы и нажмите кнопку «OK» (рис. 7). Утилита откроет файл рабочей группы и выдаст соответствующее сообщение. Теперь Access на этой машине при запуске будет запрашивать имя пользователя.
|
Рис. 7. Установка связи с рабочей группой |
Борьба за ущемление прав пользователей
Пользователь Admin
Вы, наверное, думаете, что надежно защитили базу данных. Ан нет! Достаточно «продвинутый» пользователь запустит «Администратора рабочих групп», создаст новый файл рабочей группы, привяжется к нему (более того, программа выполнит привязку автоматически!) и со злобной ухмылкой откроет базу, не введя ни имени, ни пароля.
Действительно, утилита создаст в новом файле рабочей группы пользователя Admin, а Access после подключения к новой, «пустой», рабочей группе откроет базу данных для этого пользователя. И если вы определили для него неограниченные права, то он их и получит.
Самое забавное в том, что пользователя Admin удалить нельзя. Однако можно предоставить ему минимальные права доступа к базе данных и удалить его из группы Admins. Так вы устраните ещё одну лазейку в защите. Но не последнюю!
Дело в том, что пользователь Admin в заново созданном файле рабочей группы по умолчанию попадает в подгруппу Admins, а значит, сможет установить себе любые права доступа к чему угодно. «Красивого» пути решения этой проблемы, насколько мне известно, нет. Остается только удалить с рабочих станций программу администратора рабочих групп (она находится в папке Windows/System и называется Wrkgadm. exe; именно на неё и указывает ярлык в папке Office 97) и средствами сети закрыть от записи файл рабочей группы на сервере.
Но и это не дает стопроцентной защиты, ведь злоумышленник может принести файл рабочей группы или саму программу администратора с собой на дискете. Может, ради такого случая стоит снять дисководы со всех рабочих станций...
Владелец объекта
Ограничения доступа к уже существующим объектам базы не помешают пользователю создать новый объект любого типа, автоматически стать его владельцем и на правах владельца делать с этим объектом все, что угодно. Однако пользователь, имеющий права администратора, может сменить владельца любого объекта.
Для смены владельца объекта откройте нужную базу данных, войдите в меню «Сервис-Защита-Разрешения» и в знакомом диалоговом окне «Разрешения» перейдите на страницу «Смена владельца» (рис. 8).
|
Рис. 8. Смена владельца объекта |
|
Рис. 9. Можно предоставить всем пользователям права владельца на новые запросы |
Чтобы выдать всем пользователям права владельца на уже существующий запрос, запустите для него конструктор запросов (выберите в окне базы данных закладку «Запросы», отметьте нужный запрос и нажмите кнопку «Конструктор»). Затем щелкните правой кнопкой мыши в верхней половине окна, где отображаются входящие в запрос таблицы (но не на самих таблицах). Выберите в контекстном меню пункт «Свойства...» и в списке свойств запроса измените значение свойства «При запуске предоставляются права». После этого закройте окно списка свойств и окно конструктора, сохранив макет.
Мастер защиты
Для облегчения работы по ущемлению прав пользователей в Access включен Мастер защиты, однако довольно примитивный. Единственное, на что он способен, — это создать новую, защищенную базу данных, чьи объекты имеют ограничения на доступ со стороны пользователей из группы Users. Вы задаете типы объектов, к которым следует ограничить доступ, и имя базы, а Мастер делает свое дело.
Для создания сколько-нибудь развитой системы защиты Мастер подходит плохо. Но если вы все-таки решили отдаться на его милость, не делайте владельцем новой базы пользователя Admin. Если у вас нет другого пользователя с административными полномочиями, создайте его, а затем удалите пользователя Admin из подгруппы Admins и перезапустите Access для нового пользователя-администратора. Теперь можно войти в меню «Сервис-Защита-Мастер...» и следовать указаниям Мастера.