Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Как запаролить подключение флэшки?


Автор: Тутанхамец 21.12.2006, 08:19
Здравствуйте! Надо, чтобы при втыкании флэшки выскакивало окошко с запросом пароля. Пароль правильный - пользуйся флэшкой, как обычно. Неправильный - доступ к флэшке запрещен. Как это сделать? Хотя бы по каким словам искать? Флэшка - это программа-минимум. Потом надо будет сделать то же для сиди и дискеты. Заранее благодарен.

Автор: MetalFan 21.12.2006, 09:34
драйвер...
иначе если и можно, то в извращенной форме, ихмо

Автор: Тутанхамец 21.12.2006, 09:43
Лаконично smile
А поподробнее можно?

Автор: bems 21.12.2006, 09:45
Цитата(MetalFan @  21.12.2006,  09:34 Найти цитируемый пост)
драйвер...
и вся инфа на флешке должна быть зашифрована. Если твой драйвер файловой системы не расшифрует, то юзер увидит зюбюмю

Автор: Snowy 21.12.2006, 09:45
smile Так и представляю америкосовский фильм: 
вставляют дискету с секретной информацией, а компьютер сразу пароль спрашивает smile

Автор: Тутанхамец 21.12.2006, 09:56
Ну, блин... фильмы америкосовские начали спрашивать... издеваетесь...

Проблема-то вот какая. Есть класс в одном учебном заведении, и плохие детки задолбали приносить всякую гадость типа бронтоков и прог-шуток. Это всё забавно, конечно, но не для админа. В то же время некоторым хорошим деткам, большинству преподов и самому админу флэшками пользоваться очень даже нужно. Как бы так устроиться, чтобы из-под одного пользователя кто-то мог юзать флэшки, а кто-то не мог? 

Автор: Snowy 21.12.2006, 10:15
Отрубить нафиг всё на всех машинах, кроме серверной.
И флэшки фтыкать только в головную машину, а не во все подряд.

Автор: Vas 21.12.2006, 10:57
http://doc-serfar-.nnm.ru/usb_lock_ap_19_usb_lock_rp_20 или http://www.google.ru/search?hl=ru&q=USB+Lock&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr= посмотри кажется то что тебе нужно.

Автор: Sansa 21.12.2006, 12:49
http://www.protect-me.com/ru/dl/?referer1=adwords&referer2=compet_ru
С помощью DeviceLock вы можете:

    * Контролировать доступ пользователей или групп к устройствам (дисководы, CD/DVD-приводы, сменные накопители, жесткие диски, WiFi, Bluetooth и т.п.) и портам ввода-вывода (USB, FireWire, COM, LPT, IrDA).

    * Контролировать доступ пользователей и групп к устройствам и портам ввода-вывода в зависимости от времени и дня недели.

    * Для сменных носителей, дисководов, жестких дисков и CD/DVD-приводов устанавливать тип доступа "только чтение".

    * Защитить диски и сменные носители от случайного или преднамеренного форматирования.

    * Для каждого пользователя или группы задать свой список устройств, доступ к которым будет всегда разрешен. Устройства можно идентифицировать по модели и по уникальному серийному номеру.

    * Идентифицировать определенный CD/DVD-диск на основе записанных на него данных и разрешить его использование, даже если сам CD/DVD-привод заблокирован. Для каждого пользователя или группы можно задать свой список носителей.

    * Предоставлять временный доступ к устройствам при отсутствии сетевого подключения к агенту. Администратор сообщает пользователю специальный короткий буквенно-цифровой код по телефону, который временно разблокирует доступ только к требуемому устройству.

    * Протоколировать все действия пользователей с устройствами и файлами (копирование, чтение, удаление и т.п.). Также можно протоколировать изменения в настройках DeviceLock, время старта и остановки агента.

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

    * Обеспечить необходимый уровень защиты даже если пользователи в сети имеют административные привилегии на локальных компьютерах. Когда защита DeviceLock включена, никто, исключая авторизованных администраторов, не может подключаться к агенту, останавливать или удалять его. Даже члены локальной группы Администраторы (если они не входят в список авторизованных администраторов) не могут обойти защиту.

    * Посредством системы удаленного управления,обеспечивать доступ ко всем возможным функциям программы с рабочего места администратора системы. DeviceLock Management Console представляет из себя оснастку (snap-in) для Microsoft Management Console, со стандартным интерфейсом, интуитивно понятным любому администратору Windows. Кроме того, для управления DeviceLock в сетях, где не используется Active Directory, предусмотрена дополнительная консоль с собственным интерфейсом - DeviceLock Enterprise Manager.

    * Управлять через групповые политики Windows в домене Active Directory посредством стандартной оснастки Group Policy, которая входит в состав Windows 2000 и более поздних операционных систем. Полная интеграция в групповые политики Windows позволяет автоматически устанавливать DeviceLock на новые компьютеры, подключаемые к корпоративной сети, и осуществлять настройку для новых компьютеров в автоматическом режиме.

    * Выбирать компьютеры напрямую из служб каталогов LDAP (таких как Novell eDirectory, Open LDAP и т.п.).

    * Централизованно хранить журналы аудита и теневого копирования. Для централизованного сбора и хранения данных теневого копирования и журналов аудита используется дополнительный компонент - DeviceLock Enterprise Server. Вы можете установить несколько экземпляров DeviceLock Enterprise Server в вашей сети, чтобы равномерно распределить нагрузку. DeviceLock Enterprise Server использует SQL-сервер для хранения данных.

    * Формировать отчеты по установленным настройкам и по устройствам (USB, FireWire и PCMCIA), которые используют пользователи на своих локальных компьютерах.

Автор: Тутанхамец 23.12.2006, 18:53
Цитата

Отрубить нафиг всё на всех машинах, кроме серверной.
И флэшки фтыкать только в головную машину, а не во все подряд. 


Жаль, не покатит, так как некоторые тачки не в сети. 

Vas и Sansa, спасибо. Может и заюзаю.  

Ввиду новогодних каникул время пока терпит, и попробую поглубже вникнуть в тему. 

Вот, допустим, обнаружение флэшки. Когда в системе появляется новый диск - что происходит? Не посылается ли каких-нибудь сообщений, а?

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

Автор: 000denmoroz000 23.12.2006, 19:22
Тутанхамец, 
Не знаю как для флешки, но Для Дискеты так:
Код

const 
 FILE_DEVICE_FILE_SYSTEM: Integer = $00000009; 
 METHOD_BUFFERED: Integer = $00000000; 
 FILE_ANY_ACCESS: Integer = $00000000; 

function CTL_CODE(DeviceType, FunctionNo, Method, Access: Integer): Integer; 
begin 
 Result := (DeviceType shl 16) or (Access shl 14) or (FunctionNo shl 2) or (Method); 
end; 

procedure TForm1.Button1Click(Sender: TObject); 
var 
 LHandle: THandle; 
 BytesReturned: Cardinal; 
 MsgBuf: PChar; 
 FSCTL_LOCK_VOLUME: Integer; 
begin 
 FSCTL_LOCK_VOLUME := CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 6, 
                                                  METHOD_BUFFERED, FILE_ANY_ACCESS); 
 LHandle := CreateFile('\\.\A:', GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ 
                      or FILE_SHARE_WRITE, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or 
                      FILE_FLAG_DELETE_ON_CLOSE, 0); 
 if LHandle <> 0 then 
 begin 
   if DeviceIOControl(LHandle, FSCTL_LOCK_VOLUME, nil, 0, nil, 0, BytesReturned, nil) then 
     ShowMessage('Дисковод заблокирован. Нажмите ОК для разблокирования.') 
   else 
   begin 
     if FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER or 
          FORMAT_MESSAGE_FROM_SYSTEM, nil, GetLastError(), 0, @MsgBuf, 0, nil) > 0 then 
     begin 
       ShowMessage('Ошибка DeviceIOControl: ' + MsgBuf); 
       LocalFree(Cardinal(MsgBuf)); 
     end 
     else 
       ShowMessage('Ошибка при вызове DeviceIOControl!'); 
   end; 
   CloseHandle(LHandle); 
 end 
 else 
   ShowMessage('Ошибка при вызове CreateFile!'); 
end; 

Автор: p0s0l 

P.S. Ещё был где-то код для CD_ROM'a. Если найду-выложу здесь.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)