Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / Работа сервиса с сетевым диском / 12 сообщений из 12, страница 1 из 1
28.12.2010, 15:37
    #37039241
zark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа сервиса с сетевым диском
Есть сервис, он работает с файлами. Запускается он от имени SYSTEM. Если файлы находятся на "локальном" диске проблем нет. Но если я подключаю сетевой диск и хочу работать с ним - то ничего не получается. В чем может быть проблема?
...
Рейтинг: 0 / 0
28.12.2010, 15:41
    #37039253
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа сервиса с сетевым диском
zarkВ чем может быть проблема?

В том, что у SYSTEM нет прав на сеть вообще. Он полностью так и называется " Local
System".
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
28.12.2010, 15:49
    #37039270
Anatoly Podgoretsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа сервиса с сетевым диском
zarkВ чем может быть проблема?
В отсутствие прав.
...
Рейтинг: 0 / 0
28.12.2010, 15:50
    #37039273
zark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа сервиса с сетевым диском
А как тогда поступить в этом случае? Я вот думаю копать в сторону запуска сервиса под каким-то пользователем.
...
Рейтинг: 0 / 0
28.12.2010, 16:03
    #37039316
zark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа сервиса с сетевым диском
Может есть способ подключить сетевой диск так, чтобы с ним можно было от SYSTEM работать?
...
Рейтинг: 0 / 0
28.12.2010, 16:07
    #37039329
Anatoly Podgoretsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа сервиса с сетевым диском
zarkА как тогда поступить в этом случае? Я вот думаю копать в сторону запуска сервиса под каким-то пользователем.
NETWORK SERVICE
...
Рейтинг: 0 / 0
28.12.2010, 16:42
    #37039403
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа сервиса с сетевым диском
zarkЯ вот думаю копать в сторону запуска сервиса под каким-то пользователем.

А чего там думать-то? И тем более копать? Одно свойство сменил и вот оно - счастье.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
29.12.2010, 17:20
    #37041354
zark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа сервиса с сетевым диском
Dimitry Sibiryakov,

Пробовал сделать как тут говорили, добиться результата не получилось, поєтому решил потренироваться на "кошках" и создал тестовое приложение - создание папок на сетевом диске.

Установил: ServiceStartName = NT AUTHORITY\NetworkService
Сетевой диск подключил к Z:

Как результат - ни одна папка не была создана. Сервис работает, о чем говорит beep.

Что я делаю не так?

Текст программы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
 const  LOG = 'c:\1\log.txt';
      cExtPath = 'Z:\BusinessServer\';

 type 
  TService1 =  class (TService)
    tmBeep: TTimer;
     procedure  tmBeepTimer(Sender: TObject);
     procedure  ServiceStart(Sender: TService;  var  Started: Boolean);
     procedure  ServiceStop(Sender: TService;  var  Stopped: Boolean);
   private 
     { Private declarations } 
    F: TextFile;
    Count: integer;
   public 
     function  GetServiceController: TServiceController; override;
     { Public declarations } 
   end ;

 var 
  Service1: TService1;

 implementation 

 {$R *.DFM} 

 procedure  ServiceController(CtrlCode: DWord); stdcall;
 begin 
  Service1.Controller(CtrlCode);
 end ;

 function  TService1.GetServiceController: TServiceController;
 begin 
  Result := ServiceController;
 end ;

 procedure  TService1.tmBeepTimer(Sender: TObject);
 var  FolderName:  string ;
 begin 
  beep;
  inc(Count);

  FolderName := cExtPath  + IntToStr(Count);

   if   NOT  ForceDirectories(FolderName)
     then  writeln(F, 'Error: ' + DateTimeToStr(now)+ '::' + FolderName)
   else  writeln(F, '>>>SUCCESS!!!' + DateTimeToStr(now));

  Flush(F);
 end ;

 procedure  TService1.ServiceStart(Sender: TService;  var  Started: Boolean);
 begin 
  Count :=  0 ;
  tmBeep.Enabled := True;

  AssignFile(F, LOG);
   if   NOT  FileExists(LOG)  then   Rewrite(f)
   else  Append(F);

  Started := True;
 end ;

 procedure  TService1.ServiceStop(Sender: TService;  var  Stopped: Boolean);
 begin 
  CloseFile(F);
  Stopped := True;
 end ;

...
Рейтинг: 0 / 0
29.12.2010, 21:28
    #37041724
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа сервиса с сетевым диском
zarkЧто я делаю не так?
Не проверяешь ошибки исполнения.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
29.12.2010, 22:17
    #37041754
Kew
Kew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа сервиса с сетевым диском
NT AUTHORITY\NetworkService в сети (соседним компьютерам) представляется компьютером , на котором запущен, т.е., предъявляет идентификактор и пользуется набором прав учетной записи компьютера в домене. Если этой учетной записи не дадено право писать в общий ресурс, никаких записей и не будет. (В рабочей группе централизованного хранения и аутентификации учзаписей нет, так что права у NT AUTHORITY\NetworkService на соседних компьютерах -- приблизительно гостевые).
Выходов два: 1) дать соответствующие права на стороне сервера (Z:\) или 2) взять соответствующие реквизиты (имперсонироваться) на стороне клиента (TService1).
...
Рейтинг: 0 / 0
30.12.2010, 19:27
    #37043073
Gerros
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа сервиса с сетевым диском
Сетевой диск монтируется в СЕССИЮ пользователя. У службы сессия своя и диск чужой сессии в ней не виден.
Не используйте сетевый диски - используйте пути UNC:
Код: plaintext
1.
2.
3.
 const  LOG = 'c:\1\log.txt';
      cExtPath = '\\Server_Name\Resource_Name\';

...
Рейтинг: 0 / 0
30.12.2010, 22:31
    #37043171
Biz©
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа сервиса с сетевым диском
Dimitry SibiryakovВ том, что у SYSTEM нет прав на сеть вообще. Он полностью так и называется " Local
System".

если компутер в домене, то ваша инфо - махровая дезинформация ...
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / Работа сервиса с сетевым диском / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]