![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Защита папки [D6, Win2k, WinXP]
DeadMeat © (2005-02-03 00:49:00)Здрассте граждане.
Такой вот вопросик. Как можно защитить папку, чтобы ее нельзя было открыть. Сразу говорю, что настройка политики не подходит, т.к. это тяжко. Потому что надо время от времени снимать защиту. Все это надо делать программно. Мысль - открыть ее с вариантом EXCLUSIVE. Но не выходит чета. Говорит ACCESS DENIED. Хотя раньше я точно помню, что так делал. Помню, потому что видел как админ ниче не мог сделать с этой папкой. Но вот не помню как я это делал... Да. Знаю.. Дырявая голова. Но вот поэтому вас тут и спрашиваю... Может есть еще способы?
DeadMeat (2005-02-08 09:22:00) [1]Не буду приводить сЦылку здесь, а то тоже удалят.
Но в кратце расскажу, что понял.
Проблема максимального числа подключений оказывается на самом деле была введена майкрософтом специально. Для якобы сдерживания распространения червей и т.п. дряни по сети. То, что привел MInd_f доводило это число до 50. Но по сути это является кряк.
Сразу скажу, что у меня (на моем билде 2600) это не сработало. Нужен другой билд. Там в списке они есть.
Может все таки есть еще способ подключить больше чем 10 юзеров к сетевому ресурсу?
Остальные проблемы в принципе решены. Спасибо тем, кто помог. И тем кто хотел помочь...
GrayFace (2005-02-08 02:43:00) [2]DeadMeat © (03.02.05 16:16) [27]
MInd_f © (03.02.05 14:12) [23]
Спасибо большое... Должно пригодится. Я та думал это у меня руки кривые. А оказывается не на столько. Оказывается они это специально сделали.
А что там было до удаления админом?
DeadMeat (2005-02-04 10:29:00) [3]Есть программа ( не мояи автора не достать).
Да и к тому же подходить к каждому компу переписывать его серийник и вставлять по новой? А если комп заменили? Опять?
Нет. Так не пойдет.
Вообще так или иначе, но проблема решена, большое спасибо Набережных С. © (03.02.05 13:12) [19].
Все сделал именно так и все работает...
Gloomer (2005-02-04 10:16:00) [4]>Александр1 (04.02.05 06:21) [28]
>Вот тут-то юзеры и свиснут прогу
согласен
>Надо привязать прогу к компьютеру (к железу)
Так же согласен.
Могу поделиться кодом для определения даты изготовления БИОСа и видеокарты. Выдает одинаковый результат в Вин9х и ВинХР
Александр1 (2005-02-04 06:21:00) [5]
> под ДОСом или другой системой содержимое папки будет видно.
Вот тут-то юзеры и свиснут прогу. Я как сейчас помню. У нас в универе один умный администратор сделал папку пустой. А мы с другом с системной дискетой DOS пришли и свиснули на кафедре прогу по расчёту руксового.
> DeadMeat © (03.02.05 15:26) [26]
Надо привязать прогу к компьютеру (к железу).
DeadMeat (2005-02-03 16:16:00) [6]MInd_f © (03.02.05 14:12) [23]
Спасибо большое... Должно пригодится. Я та думал это у меня руки кривые. А оказывается не на столько. Оказывается они это специально сделали.
DeadMeat (2005-02-03 15:26:00) [7]Спасибо за совет.
Про ФолдерГард знаю. Пользовался раньше. Но за ним были замечены пара глюков.. Щас точно не помню каких, может быть даже в новой версии все работает.. Дело еще в том, что насколько я понимаю, папку все равно можно будет скопировать.
Но все равно спасибо...
Gloomer (2005-02-03 14:55:00) [8]Могу дать вариант решения, никак не связанный с Delphi, не привязанный к Win2k и не требующий написания отдельной программы.
Ставишь Folder Guard Pro (у меня стоит 6-я версия) и настраиваешь
видимость нужной папки в "Пустая". Предварительно вытаскиваешь ярлык на ехе-шник. После этого при просмотре данной папки любыми средствами она будет пустая, но при обращении к конкретно куазанному файлу он запустится. Лучше создать какую-нибудь папку и ее задать пустой, а затем в нее скопировать папку с программой.
Работает даже в 9х на FAT32, где никаких прав доступа и быть не может. Но при загрузке под ДОСом или другой системой содержимое папки будет видно.
Где скачать? Спроси гугла, есть русификатор, кряк..
MInd_f (2005-02-03 14:18:00) [9]Удалено модератором
MInd_f (2005-02-03 14:12:00) [10]Удалено модератором
Набережных С. (2005-02-03 13:45:00) [11]>BiN © (03.02.05 13:27) [20]
А, ну да, она ведь запущена от текущего пользователя и он имеет к процессу полный доступ. Упустил.
DeadMeat (2005-02-03 13:42:00) [12]Да, изменяя адресное пространстве процесса.
Есть способ еще проще. Просто дать ей другую программу (хотя бы CMD.exe) с именем той...
Набережных С. © (03.02.05 13:12) [19]
Вот за это огромное спасибо.. Про такое наследование я и не подумал...
Здесь вроде работает, осталось проверить на месте. Но думаю и там будет.
Еще раз спасибо.
Но вот все же вопрос с CreateProcessWithLogonW остается открытым.. Но теперь уже чисто из академического интереса.
BiN (2005-02-03 13:27:00) [13]Набережных С. © (03.02.05 13:12) [19]
BiN © (03.02.05 12:12) [16]
>Этот т.н. launcher легко будет модифицировать
При правах только на исполнение?
Да, изменяя адресное пространстве процесса.
Набережных С. (2005-02-03 13:12:00) [14]BiN © (03.02.05 12:12) [16]
>Этот т.н. launcher легко будет модифицировать
При правах только на исполнение?
>DeadMeat © (03.02.05 12:34) [17]
Я тут попробовал одну мысль. Вроде получилось. Ставим пользователю права:
1.На папку с программой - стандартные: чтение и выполнение, список содержимого, чтение.
2.На файл программы - стандартные не важно, жмем дополнительно, выбираем учетку, изменить. Здесь оставлем только обзор папок/выполнение файлов, все остальное долой.
Вроде все. Запустить можно, а скопировать или переместить - нет.
DeadMeat (2005-02-03 12:36:00) [15]Вот что меня больше всего добивает, так это то, что на одних системах работает без проблем, а на других нет... Хотя все права, настройки безопасности и юзеры одинаковые... Вот с SP4 не хочет.. А без него - пожалуйста.
DeadMeat (2005-02-03 12:34:00) [16]Это не те юзеры... ;)
Это не те университетские гении, которые сами всему обучаются, и способны поломать любую защиту (ну почти любую). Я с ними проработал уже почти больше года. Могу гарантировать, что они врядли чего сделают такого. Хоть это и не сложно...
Насчет отдельного юзера я думал.. Делал.. Причем эта была вторая мысль, после варианта с сетью. Все равно не работает... Я больше чем уверен, что причина в CreateProcessWithLogonW. Но вот как назло кода нет под рукой...
А вот вариант с LogonUser + CreateProcessAsUser обязательно попробую. Спасибо... Но может есть способ по проще?
BiN (2005-02-03 12:12:00) [17]Не стоит недооценивать юзеров. Этот т.н. launcher легко будет модифицировать для запуска произвольной программы, в т.ч. и получить прямой доступ к целевой папке.
Набережных С. (2005-02-03 12:04:00) [18]Да, и если программа использует, например дилоги открытия файлов - все псу под хвост:)
Набережных С. (2005-02-03 12:02:00) [19]>DeadMeat © (03.02.05 11:27) [10]
Anatoly Podgoretsky © (03.02.05 11:40) [11] прав.
Попробуй LogonUser + CreateProcessAsUser, но только не от админа. Сделай для этого отдельного юзера, установив программу под него. Также попробуй дать права этому юзеру на активные рабочий стол и оконную станцию. Попробуй LoadProfile юзера. В общем, надо искать, чего ей не хватает и думать:)
DeadMeat (2005-02-03 11:58:00) [20]Пустить козла в огород.
Что это означает в данной ситуации?
Anatoly Podgoretsky © (03.02.05 11:42) [12]
Объясните мне "не компетентному" и "не грамотному" человеку, как простой юзер, который знает только как запускать программы и копировать их из папки в папку, перепишет программу, к которой у него нет доступа? Ведь он запускает не саму программу тестирования, а лишь launcher, который уже запускает нужное. Ну перепишет он его, и что? Поэтому я так и реализовал, т.к. на мой взгляд это был лучший вариант. Я конечно могу ошибаться. Но этот вариант работает. Правда только под теми ОС, которые я указал, и то..., и то его не работоспособность связана с программой неизвестного автора.
Клиент-серверное решение не подходит, по причинам, которые я описал выше. Так же как и терминальные технологии... Я бы рад был реализовать по другому, но не получается...