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

Вниз

Копирование в службе и права доступа   Найти похожие ветки 

 
Warlock ©   (2005-08-17 11:55) [0]

В службе производится копирование файла в каталог сервера другого домена, используется функция CopyFile. Домены связаны доверительными отношениями. При копировании файла получаю ошибку доступа. Тот же код в обычной программе естествено работает нормально. Я знаю, что службы запускаются от имени системы. Попытка использовать функцию WNetAddConnection3 с указанием имени пользователя и пароля в службе привела к тому, что она перестала запускаться (скорее всего в службах ее использовать нельзя). Подскажите в каком направлении копать.


 
Leonid Troyanovsky ©   (2005-08-17 12:22) [1]


> Warlock ©   (17.08.05 11:55)  
> В службе производится копирование файла в каталог сервера
> другого домена, используется функция CopyFile. Домены связаны
> доверительными отношениями. При копировании файла получаю
> ошибку доступа. Тот же код в обычной программе естествено
> работает нормально. Я знаю, что службы запускаются от имени
> системы. Попытка использовать функцию WNetAddConnection3
> с указанием имени пользователя и пароля в службе привела
> к тому, что она перестала запускаться (скорее всего в службах
> ее использовать нельзя). Подскажите в каком направлении
> копать.


А зачем CopyFile? Лучше пользовать File replication service.

Ну, а так, можно пускать сервис от имени некоего юзера,
скажем, из группы Backup Operators.

--
Regards, LVT.

PS Для серверов функции начинаются с Net*.


 
BiN ©   (2005-08-17 12:28) [2]

Warlock ©   (17.08.05 11:55)  

Я знаю, что службы запускаются от имени системы.


С помощью оснастки Services или ф-и ChangeServiceConfig можно настроить запуск службы от имени другой учетной записи.

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

Какова ошибка?


 
Warlock ©   (2005-08-17 12:30) [3]

Насчет сервера я может и зря написал, это может быть машина с любой ОС на основе NT.

File replication service не устраивает по причине, что этот файл - база данных, и она не может быть одинаковой в доменах, но изменения из одной должны вноситься в другую и наоборот.

Выход есть - параметр службы "Вход с учетной записью..."

Может быть есть функции копирования, позволяющие представляться, те посылать имя и пароль пользователя..


 
Warlock ©   (2005-08-17 12:31) [4]

BiN ©   (17.08.05 12:28) [2]
Какова ошибка?


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


 
BiN ©   (2005-08-17 12:36) [5]

Warlock ©   (17.08.05 12:31) [4]

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


Прям так и сказала: "Мне нечего делать"?

Warlock ©   (17.08.05 12:30) [3]

Может быть есть функции копирования, позволяющие представляться, те посылать имя и пароль пользователя


Таких функций нет, но есть такая вещь как олицетворение (impersonation).


 
Warlock ©   (2005-08-17 12:41) [6]

Благодарю, но олицетворением вряд ли воспользуюсь, т.к. не в курсе..


 
Leonid Troyanovsky ©   (2005-08-17 12:41) [7]


> Warlock ©   (17.08.05 12:30) [3]

> File replication service не устраивает по причине, что этот
> файл - база данных, и она не может быть одинаковой в доменах,
> но изменения из одной должны вноситься в другую и наоборот.


Ну, и как CopyFile может вносить изменения в базу?

Приличные же серверы поддерживают репликацию сами.
Ну, а остальные могут запрашивать изменение сами,
через некоторый DB connection.

--
Regards, LVT.


 
Warlock ©   (2005-08-17 12:45) [8]

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


 
Leonid Troyanovsky ©   (2005-08-17 12:53) [9]


> Warlock ©   (17.08.05 12:45) [8]
> CopyFile используется только для передачи готовой дельты
> между базами, службы формируют ее сами. Канал просто плохой..


Дык, для плохого канала лучше передавать стрим самому через
сокет, а не задействовать CopyFile.

--
Regards, LVT.


 
Warlock ©   (2005-08-17 13:10) [10]

Можно попробовать через сокет.. Правда у меня эта служба и так жирная до предела..


 
Warlock ©   (2005-08-17 13:14) [11]

BiN ©   (17.08.05 12:36) [5]
Warlock ©   (17.08.05 12:31) [4]

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

Прям так и сказала: "Мне нечего делать"?


Сообщение при запуске службы:
"Служба <ее имя> на <локальная машина> была запущена и затем остановлена." ну и дальше что некоторые службы так могут делать, траляля..

Это появилось после того, как я указал службе конкретную учетную запись с паролем для входа


 
Warlock ©   (2005-08-17 13:19) [12]

Строго говоря господа, мне нужно просто скопировать готовый файл и все..


 
BiN ©   (2005-08-17 13:34) [13]

Warlock ©   (17.08.05 13:14) [11]

Сообщение при запуске службы:
"Служба <ее имя> на <локальная машина> была запущена и затем остановлена." ну и дальше что некоторые службы так могут делать, траляля..

Это появилось после того, как я указал службе конкретную учетную запись с паролем для входа


Очевидно, это все та же ошибка в 17-й строке.
Речь, вообще-то, шла о значении, возвращенном функцией WNetAddConnection3.


 
Warlock ©   (2005-08-17 13:37) [14]

В том то все и дело, что в этом варианте службы функции WNetAddConnection3 нет, а есть только обращение к базе данных через ADO и копирование файла..


 
Leonid Troyanovsky ©   (2005-08-17 13:47) [15]


> Warlock ©   (17.08.05 13:19) [12]
> Строго говоря господа, мне нужно просто скопировать готовый
> файл и все..


У Anatoly Podgoretsky на сайте есть набор FAQ.
Посмотри internet, там есть пример передачи стрима.
Ну, конечно, для организации докачки и пр.
нужно еще немного поработать.

--
Regards, LVT.



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

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

Наверх




Память: 0.48 MB
Время: 0.038 c
4-1124177888
_alex_
2005-08-16 11:38
2005.10.16
Обои


1-1127741789
yanker
2005-09-26 17:36
2005.10.16
Управление процессом


3-1125985595
Drakon
2005-09-06 09:46
2005.10.16
Печать. TDBGrid


14-1127769010
TButton
2005-09-27 01:10
2005.10.16
Драйвер модема для Siemens M65


14-1127601152
Леха
2005-09-25 02:32
2005.10.16
VCL





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