Autorizar a un servicio a escribir remotamente en un Win2003

26/10/2007 - 13:27 por Ricardo Vazquez | Informe spam
Hola a todos.

Este es mi problema:

PROBLEMA:
Una aplicación programada por mí como Servicio Windows, y que está corriendo
en un Windows2000 (CORREO) tiene que mover un fichero (MoveFileEx) a un
2003Server (ANDROMEDA), a una carpeta compartida llamada "Grabaciones".
Ambos están en un grupo de trabajo llamado SSSHHHH.
En la carpeta "Grabaciones" añado autorización de control total, lectura y
escritura para el usuario "Ricardo", que he creado en Andromeda; y para el
usuario "Todos" (con "Todos" es como solucionaba mi problema antes de que
apareciera Win2003). Estos permisos los he añadido tanto en la pestaña
"Compartir" como en la pestaña "Seguridad" de la carpeta.

Si manualmente abro desde Correo la carpeta compartida en Andromeda me pide
usuario y contraseña: yo le meto ahí "ANDROMEDA\Ricardo", y ya abro la
carpeta y efectivamente puedo escribir.

Sin embargo mi servicio no puede: Error MoveFile: Acceso denegado.
Parece lógico, puesto que el "usuario" con el que corre el servicio es
"LocalSystem" o "cuenta de sistema local", y no "ANDROMEDA\Ricardo" como yo
había hecho con la carpeta.


SOLUCIONES QUE HE INTENTADO:
¿Soluciones que uno piensa?
- Pues o bien autorizo a ese "LocalSystem" en Andromeda para que escriba en
"Grabaciones"
- O bien hago que el servicio corra con otro usuario-contraseña: le pongo
ANDROMEDA\Ricardo.

No consigo llevar a término ninguna de las 2 soluciones:

La primera: Según la documentación que encuentro en internet los servicios
cuando acceden a recursos compartidos en red Win2003 actúan como
DOMAIN\<machine name>$
http://www.microsoft.com/technet/se...2.mspx#EBH
Sin embargo aquí no hay "domain".
Aun así intento añadirle permiso en "Grabaciones" a CORREO$, no me deja; a
CORREO\CORREO$, no me deja, a SSSHHH\CORREO$, tampoco; a todo eso sin
terminar en $, nada.
Tiro entonces de la lista de usuarios (Agregar/Avanzadas/Buscar ahora -no
hay más "ubicación" que el propio pc local), y le añado permisos totales en
compartir y en seguridad a ("Todos" ya los tenía) "SERVICIO LOCAL",
"Servicio de red", "SERVICE", "NETWORK", "ANONYMOUS LOGON" y "Usuarios
autentificados": todo usuario que suene que puede servir... ¡Pues tampoco!

La segunda: Cambiar el usuario con el que corre mi servicio (en Correo), y
ponerle el usuario ANDROMEDA\Ricardo.
Lo intento cambiar en la pestaña "Iniciar sesión" de las propiedades del
servicio pero, al darle a "Aplicar" no me deja porque dice que "El nombre de
la cuenta no es válido o no existe, o bien la contraseña no es válida para
el nombre de cuenta especificado".
Cambio entonces el usuario por "Servicio de red", que me ha sonado muy bien,
"AUTHORITY\NetworkService" sin contraseña. Pero cuando voy a arrancar el
servicio me dice "El servicio no ha respondido a la petición o inicio del
control en un tiempo adecuado", ¡pero lo dice muy rápido! no parece una
auténtico timeout. Más bien parece que un servicio cualquiera no puede
cambiarse a este usuario sin más ni más y no me deja correrlo con ese
usuario.


Y hasta aquí puedo llegar yo!
No soy ningún experto en redes ni servidores... no sé qué puedo hacer!

¿Podéis echarme una mano?


Muchas gracias!

Ricardo Vázquez.
Madrid.
 

Leer las respuestas

#1 Guillermo Delprato [MS-MVP]
26/10/2007 - 15:10 | Informe spam
A ver si va...

Copio la parte "interesante" de tu mensaje

-
La segunda: Cambiar el usuario con el que corre mi servicio (en Correo), y
ponerle el usuario ANDROMEDA\Ricardo.
Lo intento cambiar en la pestaña "Iniciar sesión" de las propiedades del
servicio pero, al darle a "Aplicar" no me deja porque dice que "El nombre de
la cuenta no es válido o no existe, o bien la contraseña no es válida para
el nombre de cuenta especificado".
-

Que el servicio corra con el usuario "Ricardo". No le pongas
"ANDROMEDA\Ricardo" ya que al no tener dominio eso no va funcionar, pues una
máquina no puede validar un usuario de otra
El tema es "engañarla", que el usuario Ricardo esté definido en ambas
máquinas y que tenga la misma contraseña ;-)

Prueba a ver si va



Guillermo Delprato
MVP - MCT - MCSE
Buenos Aires, Argentina

Este mensaje se proporciona "como está" sin garantías de ninguna clase,y no
otorga ningún derecho. Ud. asume los riesgos
This posting is provided "AS IS" with no warranties, and confer no rights.
You assume all risk for your use.



"Ricardo Vazquez" wrote in message
news:u$%
Hola a todos.

Este es mi problema:

PROBLEMA:
Una aplicación programada por mí como Servicio Windows, y que está
corriendo en un Windows2000 (CORREO) tiene que mover un fichero
(MoveFileEx) a un 2003Server (ANDROMEDA), a una carpeta compartida llamada
"Grabaciones".
Ambos están en un grupo de trabajo llamado SSSHHHH.
En la carpeta "Grabaciones" añado autorización de control total, lectura y
escritura para el usuario "Ricardo", que he creado en Andromeda; y para el
usuario "Todos" (con "Todos" es como solucionaba mi problema antes de que
apareciera Win2003). Estos permisos los he añadido tanto en la pestaña
"Compartir" como en la pestaña "Seguridad" de la carpeta.

Si manualmente abro desde Correo la carpeta compartida en Andromeda me
pide usuario y contraseña: yo le meto ahí "ANDROMEDA\Ricardo", y ya abro
la carpeta y efectivamente puedo escribir.

Sin embargo mi servicio no puede: Error MoveFile: Acceso denegado.
Parece lógico, puesto que el "usuario" con el que corre el servicio es
"LocalSystem" o "cuenta de sistema local", y no "ANDROMEDA\Ricardo" como
yo había hecho con la carpeta.


SOLUCIONES QUE HE INTENTADO:
¿Soluciones que uno piensa?
- Pues o bien autorizo a ese "LocalSystem" en Andromeda para que escriba
en "Grabaciones"
- O bien hago que el servicio corra con otro usuario-contraseña: le pongo
ANDROMEDA\Ricardo.

No consigo llevar a término ninguna de las 2 soluciones:

La primera: Según la documentación que encuentro en internet los servicios
cuando acceden a recursos compartidos en red Win2003 actúan como
DOMAIN\<machine name>$
http://www.microsoft.com/technet/se...2.mspx#EBH
Sin embargo aquí no hay "domain".
Aun así intento añadirle permiso en "Grabaciones" a CORREO$, no me deja; a
CORREO\CORREO$, no me deja, a SSSHHH\CORREO$, tampoco; a todo eso sin
terminar en $, nada.
Tiro entonces de la lista de usuarios (Agregar/Avanzadas/Buscar ahora -no
hay más "ubicación" que el propio pc local), y le añado permisos totales
en compartir y en seguridad a ("Todos" ya los tenía) "SERVICIO LOCAL",
"Servicio de red", "SERVICE", "NETWORK", "ANONYMOUS LOGON" y "Usuarios
autentificados": todo usuario que suene que puede servir... ¡Pues tampoco!

La segunda: Cambiar el usuario con el que corre mi servicio (en Correo), y
ponerle el usuario ANDROMEDA\Ricardo.
Lo intento cambiar en la pestaña "Iniciar sesión" de las propiedades del
servicio pero, al darle a "Aplicar" no me deja porque dice que "El nombre
de la cuenta no es válido o no existe, o bien la contraseña no es válida
para el nombre de cuenta especificado".
Cambio entonces el usuario por "Servicio de red", que me ha sonado muy
bien, "AUTHORITY\NetworkService" sin contraseña. Pero cuando voy a
arrancar el servicio me dice "El servicio no ha respondido a la petición o
inicio del control en un tiempo adecuado", ¡pero lo dice muy rápido! no
parece una auténtico timeout. Más bien parece que un servicio cualquiera
no puede cambiarse a este usuario sin más ni más y no me deja correrlo
con ese usuario.


Y hasta aquí puedo llegar yo!
No soy ningún experto en redes ni servidores... no sé qué puedo hacer!

¿Podéis echarme una mano?


Muchas gracias!

Ricardo Vázquez.
Madrid.

Preguntas similares