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