Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.01.16;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.003 c
2-1287581417
mfender
2010-10-20 17:30
2011.01.16
Дифференцированный подход Delphi )))


6-1233660203
FireMan_Alexey
2009-02-03 14:23
2011.01.16
Как получить ошибку сокета


15-1285896207
wl
2010-10-01 05:23
2011.01.16
Антивирус for free


15-1285947386
Дмитрий Тимохов
2010-10-01 19:36
2011.01.16
Создание и запись образов CD из командной строки


15-1285881569
Германн
2010-10-01 01:19
2011.01.16
DEFINE VERxxx





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский