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

Вниз

Разрешить доступ к удаленному компу из под пользователя SYSTEM   Найти похожие ветки 

 
DelphiN! ©   (2007-07-11 12:38) [0]

Удалено модератором
Примечание: СПАМ


 
Something   (2007-07-11 12:40) [1]

Если удаленный комп XP то в локальной политике безопасности для "запретить доступ к компьютеру по сети" убрать гостя.


 
DelphiN! ©   (2007-07-11 12:41) [2]

Удаленный комп Windows 2003


 
umbra ©   (2007-07-11 12:44) [3]


> ожно ли вообще открыть доступ к удаленному компьютеру для
> пользователя SYSTEM

а надо ли? если подсунут эксплойт какой-нибудь, то Ваша система будет беззащитна.


 
Something   (2007-07-11 12:48) [4]

По идее в 2003 политики по умолчанию пускают гостя, но вообще [1] правда,
не стоит так делать. Лучше на IIS настроить виртуальную папку на то что нужно качать.


 
DelphiN! ©   (2007-07-11 12:53) [5]


> Something   (11.07.07 12:40) [1]



> Если удаленный комп XP то в локальной политике безопасности
> для "запретить доступ к компьютеру по сети" убрать гостя.
>


Нету там гостя ... Все приложения запущеные под любыми пользователями отличными от SYSTEM доступ к компьютеру имеют. А вот SYSTEM - не имеет


> umbra ©   (11.07.07 12:44) [3]
>
>


Решение временное, пока не реализован собственные механизм передачи файлов ... Пока необходимо сделать так, хотябы для того чтобы программа смогла обновиться автоматически на многочисленных клиентах ...


 
Gydvin ©   (2007-07-11 13:16) [6]

Решал подобную проблему, для нод32 стандарт+утилита создания зеркала обновления. Вот, как эта связка работала. Нод обновлялся из сети, затем запускал утилиту для создания из его баз зеркало обновлений для других клиентов. А остальные уже обновлялись от меня. Все бы нечего, но так как Нод работает из под system, то и утилиту он запускал под system. А последняя из-за этого не могла получить доступ на сетевые ресурс, куда нуно сохранять зеркало. Решил таким образом. Создал небольшой екзешник, который при запуске, создает в папке с нодом файлик и прекращает работу. Прицепил его к ноду вместо утилиты. Создал еще один екзешник, который запускается вместе с виндой, соответственно он запускается от имени пользователя, который мониторит папку с нодом на наличие этого файла, скажем пару раз в минуту. При обнаружении убивает его и запускает уже утилиту. Соответственно костыли там всякие, от одновременного доступа к файлу. Надеюсь поможет.


 
DelphiN! ©   (2007-07-11 13:22) [7]

Ну а разрешить доступ SYSTEM-у значит никак?


 
Gydvin ©   (2007-07-11 13:38) [8]

Не заморачивался, да и нужно ли [3]


 
DelphiN! ©   (2007-07-11 13:48) [9]


> Gydvin ©   (11.07.07 13:38) [8]


Писал же в [5] что клиентов очень много и чтобы они обновились автоматически нужен доступ к какой-либо шаре из под SYSTEM-а, а иначе ручками придется ... :( Вот я и хочу доступ для SYSTEM-а, открыть, обновить клиенты и закрыть его раз и навсегда, т.к в новой версии клиента уже есть собственная передача фалов без помощи каких либо расшаренных ресурсов ...


 
DiamondShark ©   (2007-07-11 16:00) [10]


> нужен доступ к какой-либо шаре из под SYSTEM

Прям-таки обязательно из-под SYSTEM?

Разреши доступ какому-нибудь юзеру, потом в потоке, который качает, имперсонируйся этим юзером (LogonUser + ImpersonateLoggedOnUser).


 
vpbar ©   (2007-07-11 17:16) [11]

действительно, зачем именно SYSTEM.
Вон у меня nncron сам SYSTEM а ходит на шары через LogonUser и нормально


 
Рамиль ©   (2007-07-11 17:58) [12]

SYSTEM = Computer
т. е. выставте разрешение компьютеру (сработает если в домене, в одноранговой не задумывался)


 
DelphiN! ©   (2007-07-11 18:34) [13]

Решил сделать так :

P1 - программа работающая под SYSTEM-ом
P2 - программа которая выполняет работу с шарами

P1 запускает P2 с правами другого пользователя(Администратора) через функцию CreateProcessWithLogonW. P2 производит работу с шарами так как запущен с правами обычной учетной записи Администратора.

Однако при попытке P1 запустить P2 под учетной записью администратора выходит ошибка "Отказано в доступе".

 Неужели программа работающая под SYSTEM-ом не может запускать программы под другими учетными записями?

Пытаюсь запустить так :


...
 MyCreateProcess("\\192.168.1.99\share\test.exe","","Admin","AdminPass");
...

function MyCreateProcess(Path,WorkingDir,User,Pass: String): Boolean;
var
 sa: STARTUPINFO;
 pi: PROCESS_INFORMATION;
 WLogin,WPass,WPath,WFolder: PWideChar;
 Folder: String;

 lz: Cardinal;
 err: array[0..512] of Char;
begin
 if User = "" then
 begin
   FillChar(sa, SizeOf(sa), 0);
   sa.cb := SizeOf(sa);
   Result := CreateProcess(nil,PChar(Path),nil,nil,False,0,nil,nil,sa,pi);
 end
 else
 begin
   ZeroMemory(@Sa,Sizeof(sa));
   sa.cb := SizeOf(tstartupinfo);
   sa.dwFlags  := STARTF_USESHOWWINDOW;
   sa.wShowWindow := SW_SHOWDEFAULT;
   sa.lpReserved := nil;
   sa.lpDesktop := nil;
   sa.lpTitle := nil;

   {New(WLogin); StringToWideChar(WinAccountLogin,WLogin,Length(WinAccountLogin)+1);
   New(WPass);  StringToWideChar(WinAccountPass,WPass,Length(WinAccountPass)+1);
   New(WPath);  StringToWideChar(Path,WPath,Length(Path)+1);
   Folder := MyExtractFilePath(Path); New(WFolder); StringToWideChar(Folder,WFolder,Length(Folder)+1);  }

   GetMem(WLogin, Length(User) * SizeOf(WLogin) + 1);
   StringToWideChar(User, WLogin, Length(User) * SizeOf(WLogin) + 1);

   GetMem(WPass, Length(Pass) * SizeOf(WPass) + 1);
   StringToWideChar(Pass, WPass, Length(Pass) * SizeOf(WPass) + 1);

   GetMem(WPath, Length(Path) * SizeOf(WPath) + 1);
   StringToWideChar(Path, WPath, Length(Path) * SizeOf(WPath) + 1);

   Folder := ExtractFilePath(Path);
   GetMem(WFolder, Length(Folder) * SizeOf(WFolder) + 1);
   StringToWideChar(Folder, WFolder, Length(Folder) * SizeOf(WFolder) + 1);

   CreateProcessWithLogonW(WLogin, nil, WPass, 0,
    nil, WPath,0, nil, nil, sa, pi);

    lz := GetLastError;
    if lz <> 0 then
    begin
      FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nil, lz, 0, @err, 512, nil);
      MessageBox(0,PChar(String(err)),"",0);
    end;

    Dispose(WLogin);
    Dispose(WPass);
    Dispose(WPath);
    Dispose(WFolder);
 end;
end;


 
DelphiN! ©   (2007-07-11 18:36) [14]

Вернее :

 MyCreateProcess("C:\test.exe","","Admin","AdminPass");


 
DelphiN! ©   (2007-07-11 18:37) [15]

Если пытаюсь запустить процесс таким же образом не из под учетной записью SYSTEM-a, все работает на ура


 
DiamondShark ©   (2007-07-11 18:42) [16]


> CreateProcessWithLogonW(WLogin, nil, WPass, 0,
>     nil, WPath,0, nil, nil, sa, pi);

lpDomain
[in] Pointer to a null-terminated string that specifies the name of the domain or server whose account database contains the lpUsername account. If this parameter is NULL, the user name must be specified in UPN format.


 
DelphiN! ©   (2007-07-12 09:46) [17]


> DiamondShark ©   (11.07.07 18:42) [16]
>
>


UPN формат это ведь username@domain а домена у меня нет.
Да и работает ведь все, не из под пользователя SYSTEM ...


 
DelphiN! ©   (2007-07-12 10:51) [18]

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


 
DelphiN! ©   (2007-07-12 12:07) [19]

Выяснил, возможно где-то в системе стоит запрет на запуск приложений из под другого пользователя для SYSTEM, так как если запустить стандартный RunAs под пользователем SYSTEM и попытаться с помощью него запустить программу под другой учетной записью выходит все та же ошибка "Отказано в доступе"

Где этот запрет снимается я не нашел :((
Или может всетаки есть какие-то способы решения этой проблемы для моей программы, не меняя настройки системы?



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.08.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.045 c
2-1183709734
Veter
2007-07-06 12:15
2007.08.05
"менюшки" в стиле MS Word а


15-1183949290
Slider007
2007-07-09 06:48
2007.08.05
С днем рождения ! 9 июля 2007 понедельник


1-1179996867
Tonich
2007-05-24 12:54
2007.08.05
Вызов функции из dll


1-1180122450
sniknik
2007-05-25 23:47
2007.08.05
Перебор терминальных сессий


8-1162195024
dzuev
2006-10-30 10:57
2007.08.05
картинка с web камеры





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский