Доброго времени суток, Посетитель!
|
|
|
|
|
|
|
|
|
вид форума:
|
|
|
|
| Здравствуйте!Подскажите,пож-ста,как работает система защиты на уровне пользователей-не могу разобраться по хелпу.Идея такая-маленькая база лежит на сервере в одном файле (без разделения на данные и приложения для просмотра данных у пользователей) ,необходимо,чтобы создатель базы мог все что угоднго делать с базой, а другие пользователи могли только добавлять данные,причем не могли корректировать введенные записи.Подскажите,пож-ста,как это осуществить-никак не получается-не могу понять когда пользователь должен вводить имя и пароль для входа в базу-здесь же вход в базу не на уровне пользователя WinNT?Как можно чтобы просто-вводишь логин и пароль-в зависимости от прав можешь только добавлять данные,а можешь на уровне админа все делать.
Заранее спасибо! | |
|
| |
|
|
|
| Создается новый MDW файл, Access открывается с этим файлом (/wrkgrp Путь к MDW в командной строке), добавляются новый администратор и прочие юзеры, для Admin устанавливается пароль, Access открывается под новым администратором, создается новая БД (пустая), Admin убирается из группы Admins, распределяются права на объекты, импортируется всё из исходной БД ...
Это все умеет мастер (меню Tools-Security-User-Level Sequrity Wizard...) | |
|
| |
|
|
|
| Спасибо. Но я я вроде так и сделал-у меня при открытии файла ,после создания файла раб группы для него, аксесс не запрашивает логин и пароль -когда я хочу войти от имени разных пользователей с разными правами. | |
|
| |
|
|
|
| а сейчас вообще - при открытии тестового файла - пишет что у меня отсутствуют разрешения на использование объекта и просит обратиться за предоставления разрешения к сисадмину или пользователю,создавшему объект.Не пойму-как аксесс вообще определяет что за пользователь пытается открыть файл,если он во время открытия не предлагает ему ввести имя пользователя и пароль для идентификации учетной записи.
Подскажите,пож-ста,как сделать простейшую модель-есть файл с 1 таблицей. Я хочу чтобы если я открывал файл под одной учетной записью с паролем-мог бы иметь права администратора,если открываю под другой учетной записью и ввожу пароль-то могу только добавлять записи,но не изменять ранее введенные.
Вот не могу понять когда и где вводится имя и пароль?Защита на уровне учетных записей не предполагает же связь с учетными записями win и наличия ms sql?
Пож-ста,подскажите,запутался что-то. | |
|
| |
|
|
|
| вот это почитайте
http://www.vedu.ru/programming/Abr_soft/contsecfaq.htm | |
|
| |
|
|
|
| Спасибо большое за очень хорошую ссылку-заработало,в хелпе и книжке такого нет-есть все кроме самой сути. Вот только 2 вопроса возникло:1.как файл привязать к файлу рабочей группы, чтобы он всегда открывался под данной рабочей группой, а то получается-я открыл 1 файл под одной группой, потом когда открываю другой файл который ориентирован на другую группу,он открывается под группой,под которой открывался первый аксессовский файл и приходится вручную менять группу,под которой надо открыть второй файл 2.когда я вхожу в защищенную базу под какой-то записью,потом закрываю базу,но не закрываю аксесс, опять открываю базу-и он уже не требует ввести имя и пароль учетной записи,а входит под тем же автоматом,приходится,чтобы войти под другой учетной записью,перезапускать аксесс-с чем это связано и можно как-то избежать? 3.(не совсем по аксессовской теме) как можно предотвратить удаление аксессовского файла и файла рабочей группы,если,например, кому-то вдруг покажется проще стереть чем объяснять опоздание ввода данных?можно как-то сделать чтоб файл лежал на сервере,его можно было редактировать,но нельзя удалять?Заранее спасибо! | |
|
| |
|
|
|
| 1. через ярлык используя параметры командной строки ACCESS
/wrkgrp файл рабочей группы
2. точно не помню то вроде только закрытием ACCESS, это вполне логично, не давайте закрывать базу, при закрытии базы - закрывайте ACCESS
3. Обычно базу делять на 2
1-й файл с таблицами, его кладут на сервергде его никто не может удалить, где настроен бакап и все прициндалы приличиствующие серверу
2-й файл с формами отчетами и т.п. где есть столько связанные таблицы из 1-го файла, его обычно кладут на машину пользователя, удаление этого файла не как не отразится на данных и работе других пользователей. Туда же кладут и MDW | |
|
| |
|
|
|
| Спасибо.А это первый файл будет редактироваться - т.е. данные будут передаваться в этот первый файл при вводе в связанные таблицы из 1ого файла,находящиеся на машине пользователя(просто мне сисадмин что-то сказал,что нельзя сделать так,чтобы файл можно было редактировать,но нельзя было удалять - или просто путем помещения его в закрытый каталог)?И как они будут добавляться-поэтапно-при вводе каждой записи автоматом переадется в файл на сервере,или все записи после закрытия связанной таблицы на машине пользователя? | |
|
| |
|
|
|
| так из всего что вы сказали я почти ничего не понял.
ПОпробуйте разделить файл MDB на два:
1. Сделайте 2 копии вашего файла (у вас должно получиться 3 одинаковый файла)
2. Один из них сразу упакуйте и спрячте куда-нибуть на случай если все что вы сделаете далее вам не понравится.
3. Одному из оставшихся двух дайте имя как сейчас только + DB.mdb
Например Моябаза_DB.MDB
4. Откройте Моябаза_DB, и безжалостно удалите из него все кроме таблиц
Закройте его и перенесите в папку на сервере к которой есть доступ у всех кто будет работать с базой (о уровне доступа поговорим позже)
5. Откройте 3-й файл.
6. удалите из него все свои таблицы (служебыне удалять не надо, да это и не получится)
7. Кликните правой кнопкой мыши в поле где были имена таблиц
8. В открывшемся меню выбирете "Связь с таблицами"
9. укажите файл Моябаза_DB.mdb который у вас теперь лежит на сервере
10. Закройте файл и откройте его заново так как вы обычно открываете его для работы.
11. попробуйте поработать...
12. Если нужно скопируйте файл на машины других пользователей, если путь к файлу Моябаза_DB.mdb у всез пользователей одинаковый, то дополнительных настроек не потребуется.
Перерь все данные которые вводятся в формы или таблицы на машине пользователя попадают в таблицы файла Моябаза_DB.mdb который лежит на сервере.
Теперь о правая доступа... я конечно не собираюсь спорить с вашим админом или не дай Бог учить его, но мне кажется он ошибается, пусть проверит.
Может это поможет
http://support.microsoft.com/kb/308419/ru | |
|
| |
|
|
|
| спасибо за советы.Пож-ста,ответьте еще на несколько вопросов:
1.какими преимущественными правами обладает владелец базы по сравнению с другими пользователями группы admins
2.можно ли полноценно настроить защиту без запуска мастера и сменить владельца базы без запуска мастера
3.как происходит привязывание данных рабочей группы с БД-где-то должна содержаться информация,что разрешения на данный файл для учетных записей даны только для учетных записей из конкретного файла рабочей группы,если в другой рабочей группе даны такие же учетные записи к такими же кодами,то для них не действуют эти разрешения?Это я спрашиваю потому,что я создал 2 файла рабочих групп, первый настроил на БД, во втором ввел такое же имя и код учетной записи,как и у владельца БД в первом файле рабочей группы,и в итоге, запуская БД через втрой файл ото имени учетной записи совпадающей с владельцем БД по первому файлу-он почему-то открывает БД,
4.как можно исправить ситуацию,если я убрал пользователя Admin, настроил защиту на нового владельца,вошел от его имени и снял пароль.Т.е. теперь я при запуске вхожу автоматом как Admin без возможности ввести другую учетную запись, а для admin у меня нет прав на открытие БД как и у остальных пользователей группы User.
аранее большое спасибо. | |
|
| |
|
|
|
| 1. Owner - владелец, по этому может все, отобранные у него права сможет себе вернуть, именно по этому при защите создается новая база под именем нового суперадмина, иначе Admin сможет вернуть себе права.
2. Можно (в той ссылке которую я дал это все описано
3. "привязка" идет по коду пользователя, если они совпадают в разных MDW , то и права будут одинаковыми.
4. запустить ACCESS с указанием пользователя
см. help "параметры командной строки"
/user имяПользователя Запуск Microsoft Access с указанным именем пользователя. Используется только в базах данных Microsoft Access.
/pwd пароль Запуск Microsoft Access с указанным паролем. Используется только в базах данных Microsoft Access. | |
|
| |
|
|
|
| Спасибо.Но еще непонятно,посмотрите,пож-ста:
1.Если удалить админа из группы админс, и удалить все его персональные разрешения,но не запустить мастера, - у него будут все равно все права админа,хотя нигде явно не указанные?Но почему он тогда не может,например, добавить себя и кого либо друго в группу админс,как он может возратить себе все права админа?Единственный способ сменить владельца с админа,это войти с учетной записью группы админс в базу и запустить мастера?
2.Если узнать имя,организацию и код рабочей группы для защищенной базы данных-получится что защита утеряна полностью?Ведь кто угодно может создать рабочую группу с такими же именем,организацией и кодом и просто открыть эту базу под этой группой и сделать любого пользователя админом?Т.е. как бы при первой защите в файле базы данных записываются 3 параметра группы (имя,организация и код), а все пользователи и права записываются в файле рабочей группы. И база пропускает любой файл рабочей группы с этими 3 параметрами,и "читает" из этого файла учетные записи и разрешения пользователей? | |
|
| |
|
|
|
| 1. поскольку до начала защиты база создается под именем Admin (по умолчанию), то Admin является владельцем базы. Владелец может вернуть себе права.
МОжно и не мастером, просто зайдите с логином нового суперадмина, создайте базу и импортируйте в не все объекты из защищаемой БД.
2. да, но основной вопрос как узнать код? Не сообщайте его никому. Разрешения на объекты хранятся не в MDW а в самой базе, в MDW хранится список пользователей, групп и их пароли.
Вообще защита в ACCESS это не панацея, она взламывается, как и любая другая защита. | |
|
| |
|
|
|
|
Вообще защита в ACCESS это не панацея, она взламывается, как и любая другая защита.
|
А что тогда можно использывать, что бы нельзя было взломать ??? | |
|
| |
|
|
|
| Что понимается под взломом?
Получение доступа к данным которые данный пользователь не должен видеть?
Взломать можно все.
Как и любая защита, защита access рассчитана на определенный уровень противодействия.
У меня есть глубочайшее убеждение, что есть злоумышленник может получить физический доступ к файлу, то никакая защита (кроме шифрования, не ассеss'ского, а нормального с применением устойчивых алгоритмов и ключей) уже не спасает.
Поскольку в случае с ACCESS (если использовать штатные средства) мы вынуждены отдавать файл с данными пользователю, ну или предоставлять к нему доступ на уровне файловой системы, или как минимум давать файл с формами и файл MDW, то эта схема изначально уязвима.
SQL сервер, дает большую безопасность, но только при нормальном администрировании. Никакой SQL сервер не спасет, если злоумышленник может получить физический доступ к файлу БД SQL сервера. Это относится ко всем системам.
Вот тут я уже полемизировал на эту тему.
http://sql.ru/forum/actualthread.aspx?bid=4&tid=373046&pg=1
Что использовать? незнаю, зависит от задач, средств и уровня ожидаемых атак (то что подходит для ларька с сигаретами, не подходит для газпрома, вероятный уровень нападающих, IMHO, будет существенно разным)
Используйте Lotus... там можно включить шифрование базы, т.е. даже если у вас есть доступ, но нет ключа шифрования, Вы ничего не почитаете.
| |
|
| |
|
|
|
|
| При создании файла БД в него при защите записываются пользователи,группы и их коды и определяются права на них.Почему если кто-то заходит под другим MDW файлом с таким же кодом группы он автоматом входит в базу как админ? Значит ли это,что при создании защиты на любой файл в него вносится пользователь Admin c кодом пользователя равным коду группы? | |
|
| |
|
|
|
| в базе при создании создаются 2 группы и 2 пользователя со стандартными кодами.
т.е. в любом MDW есть как минимум 4 известных элемента.
если у Вас группе Admins или Users даны какие-то права, то при подключении с другим MDW пользователи входящие в эти группы получат эти права | |
|
| |
|
|
|
| Вот только опять не пойму немного с безопасностью.Например я создал группу, привязал ее к файлу,провел всю процедуру(вычеркнул Admin из администраторов,сделал ввод с паролем сделал себя администратором,мастер защиты запустил). Почему-если сделать другую группу с точно таким же именем,организацией и кодом и открыть через нее этот файл-он открывается?Ведь по умолчанию вход осуществляется от имени Admin, но его я убрал из администраторов.Как кого файл воспринимает этого новоиспеченного Admin из новой группы (с тем же именем,организацией и кодом).Ведь среди списка пользователей этого файла его нет (раз вход users запрещен) ? | |
|
| |
|
|
|
|
HiProg.com - Технологии программирования
|