Форум: "Начинающим";
Текущий архив: 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