Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.01.16;
Скачать: CL | DM;

Вниз

ADOConnection доступ к файлам БД   Найти похожие ветки 

 
Константинов   (2010-10-23 12:52) [0]

Приложение будет расположено на файловом сервере. Файлы БД (*.mdb) там же, но доступ к директории с базой данных закрыт всем кроме владельца папки (во избежание порчи, удаления, несанкционированного копирования и т.п. файлов БД и сканов приватных документов, хранящихся в данной директории). Интерфейс взаимодействия с БД - через разрабатываемое приложение (ADOConnection).

Пытаюсь проверить защиту.
Снес права доступа всем пользователям (включая админа) к данной папке, назначил права доступа "полный доступ" владельцу папки.

Запускаю приложение от имени "бесправного" пользователя. ADOConnection без проблем коннектится к файлу БД.

Вроде бы задача решена. Работать с файлом БД можно, только не дает покоя КАК ADOConnection обошел запреты на доступ в данную папку? Ведь приложение запущено не от имени владельца папки?

Это баг или так и должно быть?


 
sniknik ©   (2010-10-23 13:07) [1]

> Это баг или так и должно быть?
это баг твоего администрирования... у "бесправного" все еще есть права, наследуются откуда то. поставь запрет, а не убирай права, у запрета приоритет выше он все наследуемые перекроет.

но вообще, идея с расшариванием и запретом прав для базы гнилая. не делают так.


 
Anatoly Podgoretsky ©   (2010-10-23 14:16) [2]

> Константинов  (23.10.2010 12:52:00)  [0]

Это фантастика или ты не все и не так нам рассказал.


 
Константинов   (2010-10-23 20:57) [3]

Уважаемые мастера.

Я, видимо, изобретаю трехколесный велосипед, труд над которым пустая трата времени. Хоть подскажите, какими способами можно решить задачу.

Я уже постил эту задачу, но повторюсь необходимо:
1. Собрать некий архив сканированных документов, разбитый на разделы.
2. Создать БД в которой хранить каталог документов и которая позволяла бы делать необходимые выборки и т.п.
3. Разграничить права доступа к БД и архиву ( админу - полный доступ, Группа юзеров №1 - права на просмотр , Группа юзеров №2 - права на запись в какой либо раздел, и запрет на просмотр чужих документов.

От руководства прозвучала фраза, мол сделать так чтобы невозможно было скопировать как саму БД так и файлы из архива.

Из ресурсов есть файловый сервер доступ к которому никому и ничем не ограничен.

Я знаю два способа решать подобные задачи:
а) поднимать вэб-сервер и работать с документами средствами php, MySQL.
б) Создать каталог/логический раздел на файловом сервере, закрыть к нему доступ обычным пользователям и писать клиент-серверное приложение.

Вэб сервер поднимать не разрешили.
Остается решать задачу средствами Delphi.

Подскажите хоть как проще решить эту задачу в таких условиях.
Если не в полном объеме ( я все думаю и не нахожу решения, как разрешить просматривать файлы, но запретить их копировать ) то хоть частично.

Заранее спасибо.


 
Anatoly Podgoretsky ©   (2010-10-23 21:11) [4]

> Константинов  (23.10.2010 20:57:03)  [3]

Разве MySQL не может работать ни изолированом сервере, без шар?
Если не может, то перейди на MsSQL

По документам, а как они будут поступать пользователю? И что помешает их
скопировать, поскольку сканированые, то по правой кнопке мышки? Придется
делать терминальную сессию, без возможности копирования данных.


 
Константинов   (2010-10-23 21:14) [5]

Криво-косо додумался до того, что надо:

1. Разместить на файловом сервере приложение работающее с БД, и директорию к которой ограничен доступ.
2. При запуске приложения, оно само себя перезагружает с правами админа (или правами создателя директории) и тем самым получает доступ в директорию с файлами и БД.

Дальше - дело техники. Пиши/читай, просматривай разрешенные файлы делай выборки и т.д.


 
Anatoly Podgoretsky ©   (2010-10-23 21:15) [6]

> Константинов  (23.10.2010 21:14:05)  [5]

А не боишься, что спустя некоторое время у тебя будет столько
администраторов, сколько пользователей.


 
Константинов   (2010-10-23 21:24) [7]


>  Anatoly Podgoretsky ©   (23.10.10 21:11) [4]


Дома я поставил TopServer 2.1 и без горя обкатываю php скрипты.

Но на работе, все попытки поставить TopServer на свою локальную машину  не увенчались успехом. Я так и не смог разобраться то ли топсервер конфликтует с каким-то ПО, толи фаервол не дает... К тому же не вариант. Это все таки рабочая станция, ушел домой, выключил - обрезал всем доступ к БД. А отдельную машину под сервер под это дело вряд ли дадут.


 
Константинов   (2010-10-23 21:28) [8]


> А не боишься, что спустя некоторое время у тебя будет столько
> администраторов, сколько пользователей.
>


Вот в этом-то и дело. Чтобы перезагрузить приложение нужно где-то хранить пароли/явки администратора. Как вариант - объявить константы в исходном коде, и при необходимости смены паролей/логинов просто перекомпилировать приложение.


 
Anatoly Podgoretsky ©   (2010-10-23 21:30) [9]

> Константинов  (23.10.2010 21:24:07)  [7]

Значит вам сервер БД не нужен.


 
Константинов   (2010-10-23 21:52) [10]

Анатолий, знаете... Лично мне сервер нужен и в паблике он у меня есть. Выделенный сервер на М9. Со всеми полномочиями админа.

На работе - это другая планета, а точнее госконтора. Где свои ограничения, свои требования безопасности, свои инструкции, регламенты.т.д. и никто не пойдет на нарушения чтобы облегчить мне жизнь.

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


 
Anatoly Podgoretsky ©   (2010-10-23 22:04) [11]

Ты начал путаться в показаниях, уже забыл что писал в вопросе.


 
Константинов   (2010-10-24 00:06) [12]

Вообще Анатолий, Вы правы.
Начал про Фому...

Хорошо. Вопрос снимаю. Поступлю, как это обычно бывает в госконторах.
Для локальной СУБД приложение я сделаю. И себе жизнь облегчу. А вот защитой от несанкционированного доступа и уж тем более копирования - хай админ занимается.


 
sniknik ©   (2010-10-24 00:20) [13]

> А вот защитой от несанкционированного доступа и уж тем более копирования - хай админ занимается.
мудрое решение... разграничивать надо не только доступ, но и работу, по специальности.

> Для локальной СУБД приложение я сделаю.
делай для глобальной... типа клиент серверной СУБД, ака MSSQL и ему подобное, но установленном у тебя локально. после проще будет.
и открою маленький секрет... чтобы работать с MySql поднимать вебсервер, и php не нужно, достаточно только самого MySql, ну и драйверов доступа (odbc/oledb).


 
Константинов   (2010-10-24 02:45) [14]


> sniknik ©   (24.10.10 00:20) [13]


Знаю... что в случае чего переделывать с нуля придется.
Только вот в чем дело. Сейчас стоит задача о нескольких сотнях, ну может быть тысячах записей в СУБД. Платформа известна - винда.

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

Вот тогда и будем думать, что на сервер поставить и под какую платформу писать приложение. Толи винда то ли линукс  и вэб сервер.

Если всем этим заинтересуется головная контора (проблема-то общая а у них вебсервера в наличии). Перепишу под php и MySQL. По крайней мере вэб сервера уж точно держат несколько сотен-тысяч сессий одновременно. А про MSSQL ничего не знаю. Она с такой нагрузкой справится?


 
Anatoly Podgoretsky ©   (2010-10-24 09:42) [15]

> Константинов  (24.10.2010 02:45:14)  [14]

MS SQL промышленная база, легко маштабируемая



Страницы: 1 вся ветка

Текущий архив: 2011.01.16;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.01 c
2-1288091783
Ann007
2010-10-26 15:16
2011.01.16
PageСontrol


2-1287893500
Beginner2010
2010-10-24 08:11
2011.01.16
TTreeNodes.AddObject


15-1285734450
И. Павел
2010-09-29 08:27
2011.01.16
Можно ли использовать невизуальные компоненты в др. потоке?


15-1285964955
Юрий
2010-10-02 00:29
2011.01.16
С днем рождения ! 2 октября 2010 суббота


15-1285760336
БарЛог
2010-09-29 15:38
2011.01.16
Разрешить USB floppy, запретить USB HDD