Главная страница
    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.49 MB
Время: 0.037 c
3-1125640655
-=snoop=-
2005-09-02 09:57
2005.10.16
Добавление записей в таб...


2-1126191575
Чайникп
2005-09-08 18:59
2005.10.16
zip


2-1126843465
Meine
2005-09-16 08:04
2005.10.16
DBGrid


14-1127580199
Иван Шихалев
2005-09-24 20:43
2005.10.16
Дейкстра и Вирт в электронном виде


1-1127556641
Sergey_R
2005-09-24 14:10
2005.10.16
Генерация TreeView в runtime





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