Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Контроль подключения к ресурсам компьютера

342
28 января 2010 года
Yos
209 / / 21.06.2003
И так, есть задача - требуется перехватить (в своей программе) событие подключения пользователя (или другого компа) к расшаренным ресурсам компьютера, идентифицировать его и если он не идентифицируется или для него есть ограничения либо разрешить либо запретить доступ.

Дополнительные ограничения - Винды 2000-ХР, нет стандартного шела. Ограничения настраиваются через отдельную прогу и не действуют если механизм контроля не запущен.

Куда копать пока не знаю, но начинаю, так как задача возникла прямо сейчас, буду признателен за любую информацию и предложения (ссылки на исходники желательны но не обязательны)...

Заранее спасибо...
8.2K
28 января 2010 года
bagie2
299 / / 26.10.2008
насчет сетевого входа не знаю, но вот есть такая штука - http://msdn.microsoft.com/en-us/library/aa380543(VS.85).aspx

возможно также пригодятся эти API - http://msdn.microsoft.com/en-us/library/bb525393(VS.85).aspx
14
29 января 2010 года
Phodopus
3.3K / / 19.06.2008
Настройте права доступа на шару и все.
342
29 января 2010 года
Yos
209 / / 21.06.2003
[QUOTE=bagie2]насчет сетевого входа не знаю, но вот есть такая штука - http://msdn.microsoft.com/en-us/library/aa380543(VS.85).aspx[/QUOTE] я уже использую это в проекте, и это касаемо "локального" входа. Помница когда начинал эксперименты лет цать назад даже "потерял" комп, пришлось все переустанавливать :)

[QUOTE=bagie2]возможно также пригодятся эти API - http://msdn.microsoft.com/en-us/library/bb525393(VS.85).aspx[/QUOTE] А вот это уже интересней, сейчас посмотрю. Спасибо...

[QUOTE=Phodopus]Настройте права доступа на шару и все.[/QUOTE] Если делать это программно то это выход видимо я вчера как то тормазнул, хотя изучал этот процесс, но только сегодня понял почему он меня интересовал. Спасибо...
56K
23 марта 2010 года
vellsi
2 / / 31.12.2009
...либо права доступа, либо заюзать NETAPI
Цитата:

однако 100% определить через netapi32 нельзя... мало того, если на ресурсе шарится несколько пользователей с одинаковыми именами, то идентифицировать кто-какой файл через NetFileEnumNT нереально, т.к. FileInfoNT просто не содержит такой информации (FileInfoNT^.fi3_username - имя, но не IP, а IP содержится в SessionInfo502^.sesi502_cname которая относится к NetSessionEnumNT) (...с этим столкнулся при разработке своего NETAPI детектора подключений)
...
правда есть в этих функциях и плюс, можно регистрировать посылку документов на печать кто-что (если подкл.принтер к этой машине)


для определения владельца файла:

Код:
function GetFileOwner(FileName: string):fileid;
var
  SecDescr: PSecurityDescriptor;
  SizeNeeded, SizeNeeded2: DWORD;
  OwnerSID: PSID;
  OwnerDefault: longbool;
  OwnerName, DomainName: PChar;
  OwnerType: SID_NAME_USE;
begin
  //GetFileOwner := False;
  GetMem(SecDescr, 1024);
  GetMem(OwnerSID, SizeOf(PSID));
  GetMem(OwnerName, 1024);
  GetMem(DomainName, 1024);
  try  
    if not GetFileSecurity(PChar(FileName),
      OWNER_SECURITY_INFORMATION,  
      SecDescr, 1024, SizeNeeded) then  
      Exit;
    if not GetSecurityDescriptorOwner(SecDescr,  
      OwnerSID, OwnerDefault) then
      Exit;
    SizeNeeded  := 1024;  
    SizeNeeded2 := 1024;  
    if not LookupAccountSID(nil, OwnerSID, OwnerName,
      SizeNeeded, DomainName, SizeNeeded2, OwnerType) then  
      Exit;
    result.domain_Owner  := DomainName;
    result.user_Owner := OwnerName;
  finally
    FreeMem(SecDescr);
    FreeMem(OwnerName);
    FreeMem(DomainName);
  end;
  //GetFileOwner := True;
end;

...прилагаю статью и утилиту (см. ниже)

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог