Форум: "Система";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];
Внизкак запустить программу с провами администратора Найти похожие ветки
← →
Spartak (2003-04-21 11:02) [0]если ты сам находишься под провами обычного пользователя .
Есть прогамма управления комп клубом и чтобы админы не меняли базы данных запрещёно посчти всё и так же запуск программ . Запустить программу можно только когда войдёшь в систему с паролем админа.
так вот как сделать прогу которая бы запускала программу управления клубом под правами админа ( чтобы клубная программа могла писать файлы в каталог и делать записи в реестре )
← →
Cobalt (2003-04-21 11:06) [1]чтобы админы не меняли базы данных
Непонятно - если ты обычный пользователь, то не лезь, куда не след. А если ты админ, то залогинься - и вперед.
← →
REA (2003-04-21 11:28) [2]>запрещёно посчти всё
вот для таких и запрещено
← →
Spartak (2003-04-21 12:18) [3]Я сам запретил это всё ! Я ! работаю на сеть клубов ! ( всего 7 клубов ) ясно !?
Так что пожайлуста не надо мне таких претензий !
>Непонятно - если ты обычный пользователь, то не лезь, куда не
> след. А если ты админ, то залогинься - и вперед
мне не нужно логниться ! мне нужно чтобы программа управления работала ! и писала свои отчёты и базы данных !
Только под такой защитой она это сделать не может ! так как она запущена под пользователем ( админом , кассиром )
← →
Плохиш (2003-04-21 12:26) [4]Service
← →
Spartak (2003-04-21 12:31) [5]>Service
я могу написать сервис ! если ты на счёт вируса то я и сам знаю
могу и сам кого хочешь научить !
но мне не это нужно ! мне нужно как сделать в своей проге запуск
другой программы с правами админа .
← →
Плохиш (2003-04-21 12:37) [6]Идёшь в магазин и покупаешь толстую книгу по Delphi и по WindowsAPI (не из серии для чайников) и настраиваешь driver head.sys, кстати на будущее тоже пригодится.
PS. Про вирусы - это ты сказал
← →
Spartak (2003-04-21 12:55) [7]Просто видел прогу которая делает то же самое и весит всего 36 кб
ну ладно раз никто не знает то ...
← →
andrey_pst (2003-04-21 13:44) [8]Мда, случай тяжелый... :)
← →
DeadMeat (2003-04-21 17:07) [9]Заинсталь свой сервис, а когда надо чёто запустить, передай ему строку с файлом и всё... Я так сделал у нас в универе...
← →
Cobalt (2003-04-22 09:07) [10]Внимание - вопрос!
Зарегестрировался пользователь - с ограниченными правами. Он не имеет права админа.
Надо запустить прогу с правами админа - вопрос - кому и когда это надо?!
Этому ограниченному пользователю?
Или админу?
Если прога должна типа работать при любом пользователе (но с правми админа - этакая "следилка за пользователем"), то идеально подходит сервис (можно ему, если надо, разрешить взаимодействие с десктопом)
Иначе непонятно че-то...
← →
alexteam (2003-04-22 09:45) [11]вообще-то я сам адмиин и пишу свою прогу адмнистрации (клиентский готов пишу сервак) в общем для такой цели сервис идеальная вещь без прав админа не вырубиш и работает под админом %), в общем ты такой умный и столько знаеш, думаю сам разберешся
интересно почему у тя слово сервис связано с вирями ? :) это же две разные вещи
← →
alexteam (2003-04-22 09:46) [12]к стати вдогонку НЕ ХАМИ
← →
joisy (2003-04-23 16:49) [13]Poslushyte no v Win2k est je funktsiya dlya zapuska programm pod drugim uzerom (something like RunAs) - tuda v kommandnoy stroke pishesh uzera, parol i.t.d. Ili ya oshibayus?? Ili eto v Linuxe?
← →
handra (2003-04-23 17:05) [14]с прОвами не получится... ;)
← →
sniknik (2003-04-23 18:29) [15]в принципе сервис не единственное что с чужими правами запустить можно. DCOM (если это проше будет) тоже запускается от настроенного пользователя с его паролем и правами, а управляющую надстройку можно и меньше 36к (при желании) сделать.
← →
Proton (2003-04-23 19:34) [16]Этот ответ не по части програмироывания, есть такая комманда runas которая должна решить твои проблеммы.
еще CreateProcessAsUser(), она вообще идеально подходит к твоей задаче, но там куча параметров, с которыми бе пузыря никак :).
← →
Burmistroff (2003-04-26 21:28) [17]procedure WinExecAsUser(FileName: string; username: string; password:
string; Visibility:
integer);
var { V1 by Pat Ritchey, V2 by P.Below }
zAppName : array[0..512] of char;
StartupInfo : TStartupInfo;
ProcessInfo : TProcessInformation;
h : thandle;
begin { WinExecAndWait32V2 }
StrPCopy(zAppName, FileName);
FillChar(StartupInfo, Sizeof(StartupInfo), #0);
StartupInfo.cb := Sizeof(StartupInfo);
StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
StartupInfo.wShowWindow := Visibility;
if not LogonUser(pchar(username), ".", pchar(Password),
LOGON32_LOGON_INTERACTIVE,
LOGON32_PROVIDER_DEFAULT, h) then
MessageBoxA(0, PChar(SysErrorMessage(GetLastError)), "Error", MB_OK);
CreateProcessAsUser(h, nil,
zAppName, { pointer to command line string }
nil, { pointer to process security attributes }
nil, { pointer to thread security attributes }
false, { handle inheritance flag }
CREATE_DEFAULT_ERROR_MODE,
nil, { pointer to new environment block }
nil, { pointer to current directory name }
StartupInfo, { pointer to STARTUPINFO }
ProcessInfo); { pointer to PROCESS_INF }
if GetLastError <> 0 then MessageBoxA(0, PChar(SysErrorMessage(GetLastError)), "Error", MB_OK);
end;
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.07.10;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.009 c