powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Коллизия с доступом к базе по сети
25 сообщений из 44, страница 1 из 2
Коллизия с доступом к базе по сети
    #39887504
alexko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MS ACCESS

Коллизия с доступом к базе по сети

На ресурсе локальной сети, на компе сервере, есть диретория BASEBOR и там база допустим ITEMS.mdb. В сети есть пользователи с доступом на запись и пользователи с доступом на чтение (для BASEBOR).

Если пользователь на чтение открывает базу, то пользователь с правами на редактирование не может её редактировать.

И наоборот если пользователь с правами на запись открывает базу, то её не могут открыть пользователи с правами на чтение.

Я пока решил проблему так - те кто ведут базу периодически делаут копию базы c именем ITEMS_read.mdb и все пользователи на чтение запускают только её.

Тоже самое если я разделяю базу на два файла форм и таблиц. Если кто открыл только на чтение, то редактировать уже не получится.

Существует ли какое-то более приличное решение проблемы?
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39887507
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо так понимать, что перенос данных в какую-то вменяемую СУБД - не предлагать?
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39887510
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexko,
попробуйте такой способ. Сделайте на рабочий стол ярлык запуска вашей программы. В свойствах ярлыка в поле "Объект" пропишите в кавычках полный путь к Access и вашему файлу mdb. Например, для акса 2007 это будет
"C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "C:\Items.mdb"
Это - для запуска проги на компе, на котором непосредственно стоит программа. Для остальных компов строка подключения будет включать сетевое имя вашего "сервера", например:
"C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "\\Server\Items.mdb"
И сделайте так на каждом компе в локальной сети. Тогда всё нормально будет запускаться.
Как вариант - вместо ярлыков можно сделать батнички, с аналогичным содержимым
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39887883
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вряд ли предложение Tarasios поможет. Но пробуйте.

Вы же ограничили доступ к базе системными средствами? Так?
Лично я стараюсь не впутывать в свои программы средства Windows а всё делать в Access.
Есть таблица пользователей с их привилегиями. Есть таблица форм с описанием режимов доступа.
При загрузке формы, проверяется пользователь, а затем его привилегии для данной формы, и в зависимости от них включаются или не включаются возможности редактирования.
Поначалу это кажется сложно, но потом быстро привыкаешь и приспосабливаешься.
Особенно это полезно для программ, где пользователи разбиты на группы. И каждая группа может изменять только свою часть информации, а смотреть несколько частей.
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888057
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss
Лично я стараюсь не впутывать в свои программы средства Windows а всё делать в Access.
Есть таблица пользователей с их привилегиями. Есть таблица форм с описанием режимов доступа.


Таблица пользователей с их привилегиями (для администратора) имхо не панацея, открыл таблицу и вау - через минуту все с привилегиями администратор... лучше чтоб Админ был виртуальным, а пароль его хранить в зашифрованном виде, ну например, вместе с параметрами организации... Тогда при идентификации админа - один алгоритм, а при идентификации всех остальных - таблица с привилегиями, в которой нет администратора...
Лучшая защита на уровне Админа - это когда реанимировать админа может только разработчик...
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888060
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexko,
не включил в пример пути вашу директорию. Должно быть так
для локального компа
"C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "C:\BASEBOR\Items.mdb"
для сетевого компа
"C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "\\Server\BASEBOR\Items.mdb"

Joss :
хотелось бы услышать ТС с заключением сработало - да/нет
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888077
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
Joss
Лично я стараюсь не впутывать в свои программы средства Windows а всё делать в Access.
Есть таблица пользователей с их привилегиями. Есть таблица форм с описанием режимов доступа.


Таблица пользователей с их привилегиями (для администратора) имхо не панацея, открыл таблицу и вау - через минуту все с привилегиями администратор... лучше чтоб Админ был виртуальным, а пароль его хранить в зашифрованном виде, ну например, вместе с параметрами организации... Тогда при идентификации админа - один алгоритм, а при идентификации всех остальных - таблица с привилегиями, в которой нет администратора...
Лучшая защита на уровне Админа - это когда реанимировать админа может только разработчик...

vmag, Вы смотрели мою приблуду для авторизации?
И вообще, не ожидал от Вас такого... Доступ к таблицам для пользователей должен быть скрыт!!! Есть куча приёмов для этого. Навигационную панель убирают, шифт блокируют, пароли шифруют...
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888088
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему доступ к таблицам не ограничить при помощи разрешений самого Access?
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888148
alexko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tarasios
alexko,
не включил в пример пути вашу директорию. Должно быть так
для локального компа
"C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "C:\BASEBOR\Items.mdb"
для сетевого компа
"C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "\\Server\BASEBOR\Items.mdb"

Joss :
хотелось бы услышать ТС с заключением сработало - да/нет


У меня все пользователи работают по второму варианту (они запускают своими аксессами базу которая расположена на расшаренной папке компа-сервера.

Впрочем я сделал эксперимент и никакой разницы нет - если кто-то с правами на чтение открыл базу на моем компе, то я её не смогу открыть её на запись.
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888153
alexko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss
Вряд ли предложение Tarasios поможет. Но пробуйте.

Вы же ограничили доступ к базе системными средствами? Так?
Лично я стараюсь не впутывать в свои программы средства Windows а всё делать в Access.
Есть таблица пользователей с их привилегиями. Есть таблица форм с описанием режимов доступа.
При загрузке формы, проверяется пользователь, а затем его привилегии для данной формы, и в зависимости от них включаются или не включаются возможности редактирования.
Поначалу это кажется сложно, но потом быстро привыкаешь и приспосабливаешься.
Особенно это полезно для программ, где пользователи разбиты на группы. И каждая группа может изменять только свою часть информации, а смотреть несколько частей.


Вы имеете в виду настроить пользователей аксесс через mdw файлы? Но ведь если не делать разного доступа средствами windows, то любой пользователь с ненастроенным mdw может (как админ аксесса) получит полный доступ к базе на открытой серверной папке. На его компе система пользователь просто не работает - он всесильный аксесс-админ
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888159
alexko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4d_monster
А почему доступ к таблицам не ограничить при помощи разрешений самого Access?


Ведь аксесс по умолчанию настроен для пользователя-администратора с неограниченными правами (mdw файл). Я же не могу настроить аксесс пользователей на всех компах предприятия.
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888161
alexko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina
Надо так понимать, что перенос данных в какую-то вменяемую СУБД - не предлагать?


Да, ничего другого в моем распоряжении нет.
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888348
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tarasios
хотелось бы услышать ТС с заключением сработало - да/нет


говорит что не сработало, я так думаю проблема в том, что он ограничения делает не в интерфейсе, а поглубже, где-то на уровне таблиц, ну типа кто первый пригласил - тот и танцует...
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888349
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss
И вообще, не ожидал от Вас такого...


Знаете какая есть особенность у хакеров ?
Они всегда делают то, что от них никто не ожидает...
Сейчас украсть всю информацию и потом месяц ковыряться в ней дома как в навозной куче не так актуально...
Гораздо актуальнее, имея доступ обычного юзера в крупной компании, сделать себя её администратором хотя бы на 5 минут, за это время можно получить нужные документы, перевести крупную сумму на нужный счет и т.д., а потом опять сделать из себя обычного юзера...

Joss
Вы смотрели мою приблуду для авторизации?


Собственно именно по ней и вес спич... На рисунке ниже Ваша табличка юзеров, допустим я Ефимов и знаю как обойти защиту от Шифта, знаю как прилинковать эту таблицу к своей пустой БД и много ещё чего знаю и
работаю в этой организации и у меня куча времени для экспериментов...
Ну в общем эта табличка передо мной... Вопрос - Что помешает мне поставить/убрать галочку в графе adm напротив Ефимова?

Кстати - это неплохая задачка, решив которую, вы можете выпустить очередной релиз своей Авторизации...
ТЗ примерно такое: Я Ефимов, имею доступ к этой таблице, но админом себя сделать не могу...
Подсказка - Я даже понятия не имею кто там админы, а кто нет...
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888350
Фотография Tarasios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
Tarasios
хотелось бы услышать ТС с заключением сработало - да/нет


говорит что не сработало, я так думаю проблема в том, что он ограничения делает не в интерфейсе, а поглубже, где-то на уровне таблиц, ну типа кто первый пригласил - тот и танцует...


Когда я делал доступ к программе (файл mdb, mde) для работы в локальной сети (например - касса 1, касса 2 и т.д.), то в самом начале получил проблему "очерёдности" подключения. То есть - кто первый подключился, тот и работает. Остальные ждут, пока первый выйдет из программы. Порылся в инете - и решил вопрос именно тем способом, что я привёл. Правда, я не усложнял задачу администрированием средствами Виндовс.
Пользователи при запуске программы авторизуются (выбор из списка зарегистрированных пользователей и пароль), и далее, в зависимости от определённого уровня доступа, могут выполнять ту или иную задачу. Тут всё "по Joss-у" :)
Что по самому принципу разграничения прав и защиты, тут такие мысли.
Во первых, надо определиться, какой вообще уровень защиты для каждого конкретного случая достаточен. А то, панимаишь, зачастую (как и в этой ветке, к слову), там где надо просто поставить крючок на дверь в кладовку с швабрами, начинается бесконечное обсуждение абсолютной защиты, с предложениями ставить "дверь" от банковского хранилища - с видеокамерами, таймерами, сигнализациями и прочими "кунштюками". И да, если подойти принципиально к вопросу - абсолютной защиты не бывает в принципе, ломают всё.
Считаю, что если пользователь, несмотря на заданные полномочия, регулярно лезет, куда ему не надо лезть - то это проблема уже административная (руководства организации), а не админская. Ибо пользователь явно нарушает свои должностные права, инструкции и т.д. Тут проще организовать достаточную защиту и сотворить логирование действий "нехороших" пользователей, дабы иметь факты, "кто и когда". Ну а если начальник - дерево, и игнорит "мессиджи" админа, то админ в любом случае будет потом крайний, даже если извратится и сотворит нечтно немыслимое. В гнилой конторе работать - себе дороже.
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888381
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexko
Ведь аксесс по умолчанию настроен для пользователя-администратора с неограниченными правами (mdw файл). Я же не могу настроить аксесс пользователей на всех компах предприятия.

Это и не требуется, добавляете своего собственного админа, даёте ему все права, назначаете владельцемвсех объектов... а стандартному админу запрещаете все действия.
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888382
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
На рисунке ниже Ваша табличка юзеров, допустим я Ефимов и знаю как обойти защиту от Шифта, знаю как прилинковать эту таблицу к своей пустой БД и много ещё чего знаю и
работаю в этой организации и у меня куча времени для экспериментов...

А у пользователя под которым вы вошли - просто нет прав на изменение , и чтение этой таблички.
И на изменение запроса (с OWNER ACCESS ) который определяет есть ли у вас какое либо право - тоже нет.
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888407
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexko
Joss

Лично я стараюсь не впутывать в свои программы средства Windows а всё делать в Access.
Есть таблица пользователей с их привилегиями. Есть таблица форм с описанием режимов доступа.
При загрузке формы, проверяется пользователь, а затем его привилегии для данной формы, и в зависимости от них включаются или не включаются возможности редактирования.
...


Вы имеете в виду настроить пользователей аксесс через mdw файлы? Но ведь если не делать разного доступа средствами windows, то любой пользователь с ненастроенным mdw может (как админ аксесса) получит полный доступ к базе на открытой серверной папке. На его компе система пользователь просто не работает - он всесильный аксесс-админ


Нет. я ни слова не сказал про MDW. Защита на MDW ломается на раз. Есть специальные программы. Тот же Elcomsoft.

Примеры защиты самописными средствами. Уже приводил много раз.
Программа для ведения учета автотранспорта и дорожно-строительных механизмов просто ознакомитесь. Там в комментах есть версия для А2000. Нормально работает.

Модуль авторизации Пример авторизации пользователей в программе.
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888411
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё предложение для ТС.

Как у Вас организовано общение. с Базой? То что она лежит на сервере, это понятно.

Теперь вопросы.
1. Она у Вас разделена на клиентскую и табличную часть?
2. У Вас установлен на сервере Сервер терминалов ? Пользователи подключаются через Удалённый рабочий стол?

Ответьте пожалуйста. Дальнейшие шаги зависят от ваших ответов.
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888434
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag

Joss
Вы смотрели мою приблуду для авторизации?


Собственно именно по ней и вес спич... На рисунке ниже Ваша табличка юзеров, допустим я Ефимов и знаю как обойти защиту от Шифта, знаю как прилинковать эту таблицу к своей пустой БД и много ещё чего знаю и
работаю в этой организации и у меня куча времени для экспериментов...
Ну в общем эта табличка передо мной... Вопрос - Что помешает мне поставить/убрать галочку в графе adm напротив Ефимова?

Кстати - это неплохая задачка, решив которую, вы можете выпустить очередной релиз своей Авторизации...
ТЗ примерно такое: Я Ефимов, имею доступ к этой таблице, но админом себя сделать не могу...
Подсказка - Я даже понятия не имею кто там админы, а кто нет...


Я на оборот упростил модуль. Была мысль всунуть сюда шифрование MD5 с использованием "соли", которая зависит от нескольких параметров (номера записи, логина, пароля, признака админа и т.п.) и служебного поля для сравнения.
Причём значение в служебном поле рассчитывалось программно в момент сохранения записи с параметрами пользователя.. Простым ручным изменением ничего нельзя было добиться. Даже скопировав служебные данные в свою запись. Зашифрованный пароль просто не восстанавливался. Программа блокировала вход.

Я подумал, что если прикручу сюда всё это, то запутаю начинающих ещё больше. Мне и так писали что трудно разобраться в программе. Хотя там куча комментов.

Хотя можно покопаться в архиве и найти старые наработки.
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888599
alexko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tarasios
vmag
пропущено...


говорит что не сработало, я так думаю проблема в том, что он ограничения делает не в интерфейсе, а поглубже, где-то на уровне таблиц, ну типа кто первый пригласил - тот и танцует...


Когда я делал доступ к программе (файл mdb, mde) для работы в локальной сети (например - касса 1, касса 2 и т.д.), то в самом начале получил проблему "очерёдности" подключения. То есть - кто первый подключился, тот и работает. Остальные ждут, пока первый выйдет из программы. Порылся в инете - и решил вопрос именно тем способом, что я привёл. Правда, я не усложнял задачу администрированием средствами Виндовс.


Вообще то IMHO Access это многопользовательская база с возможностью редактирования многими одновременно. Единственная трудность с которой я сталкивался - если кто открыл базу на редактирование она не открывается с другого компа путем кликания на файле (в сетевой директории). Но если на том компе запустить аксес и открыть базу через меню, то всё OK, разве что нельзя редактировать структуру таблицы к примеру.
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888600
alexko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
4d_monster
alexko
Ведь аксесс по умолчанию настроен для пользователя-администратора с неограниченными правами (mdw файл). Я же не могу настроить аксесс пользователей на всех компах предприятия.

Это и не требуется, добавляете своего собственного админа, даёте ему все права, назначаете владельцемвсех объектов... а стандартному админу запрещаете все действия.


Но ведь эти настройки храняться в system.mdw? Сама то база ничего не знает о пользователях аксес? И вот эта база открывается на компе где ненастроенный system.mdw...
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888605
alexko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss
alexko
пропущено...

Вы имеете в виду настроить пользователей аксесс через mdw файлы? Но ведь если не делать разного доступа средствами windows, то любой пользователь с ненастроенным mdw может (как админ аксесса) получит полный доступ к базе на открытой серверной папке. На его компе система пользователь просто не работает - он всесильный аксесс-админ


Нет. я ни слова не сказал про MDW. Защита на MDW ломается на раз. Есть специальные программы. Тот же Elcomsoft.

Примеры защиты самописными средствами. Уже приводил много раз.
Программа для ведения учета автотранспорта и дорожно-строительных механизмов просто ознакомитесь. Там в комментах есть версия для А2000. Нормально работает.

Модуль авторизации Пример авторизации пользователей в программе.


Обязательно погляжу. Надеюсь вы порекомендовали бесплатный софт?
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888606
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexko,

Она откроется с системным аксесс админом, которому ничего нельзя ( вплоть до запрета на открытие базы)
А что бы этого не произошло - пользователям раздать ярлыки запуска в которых команда на запуск базы с использованием вашего правильного mdw.
...
Рейтинг: 0 / 0
Коллизия с доступом к базе по сети
    #39888632
alexko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss
Ещё предложение для ТС.

Как у Вас организовано общение. с Базой? То что она лежит на сервере, это понятно.

Теперь вопросы.
1. Она у Вас разделена на клиентскую и табличную часть?
2. У Вас установлен на сервере Сервер терминалов ? Пользователи подключаются через Удалённый рабочий стол?

Ответьте пожалуйста. Дальнейшие шаги зависят от ваших ответов.


Никаких удаленных столов и терминалов. У всех пользователй стоит обычная винда и на каждом компе есть свой аксес. На рабочем столе винды у каждого делается ярлык на базу лежащую на на сервере. Режим открытия естественно зависит от индентификации при коннекте к директории базы.

Подразумевается, что все шишки предприятия имеют доступ на чтение, а кое-кто из персонала (группа редактирования) ведет базу и имеет полный доступ.

Насчет разделения - я пробовал разделять на клиентскую и табличну часть - вроде бы удобно для модификации софта базы. Но тут опять таже проблема - все равно таблицы блокируются на редактирование если кто-то их открыл пользователь с доступом на чтение. Т.е.
1. Я разделяю базу на клиентскую часть и таблицы (таблицы на сервере)
2. делаю копию клиентской части с постфиксом _read.mdb (для тех кто только читает).
3. опять - если, кто читает, начинает работать с базой, то она в режиме чтения для всех.
...
Рейтинг: 0 / 0
25 сообщений из 44, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Коллизия с доступом к базе по сети
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]