¿Debería la cuenta de servicio de red recibir permisos de archivos temporales de forma predeterminada?

StackOverflow https://stackoverflow.com/questions/167605

Pregunta

Recientemente estuve trabajando con la generación de un PDF desde Crystal Reports a través de un formulario web. Estaba fallando, lo que determiné que era causado por la configuración de permisos en el directorio c: \ windows \ temp. Le di a la cuenta del Servicio de red acceso completo a esta carpeta, lo que solucionó el problema rápidamente. ¿Pero hay alguna razón por la cual la cuenta del Servicio de red no tenía estos permisos de manera predeterminada?

Rick Strahl hace esta pregunta aquí . Parece que no debería haber ningún problema al hacer esto, pero Rick no tenía claro por qué el valor predeterminado se establece de esa manera.

El servidor web es Windows Server 2003

¿Fue útil?

Solución

En estos días, la opción predeterminada tenderá a ser la más segura. No creo que haya otra razón.

Tuve el mismo problema que tú y, en mi entorno, solo di el permiso y seguí adelante.

Esta publicación sugiere que es culpa de Crystal Reports, que hace referencia explícita a% WINDIR% \ Temp en lugar de usar una API como Path.GetTempPath (). De hecho, he visto que Path.GetTempPath () devuelve% WINDIR% \ Temp cuando se ejecuta bajo la cuenta de Servicio de red en Windows 2003.

Otros consejos

Esta publicación sobre la creación de archivos temporales tiene comentarios que admiten el uso de la carpeta temporal de Windows.

Un msdn artículo sobre el uso de la cuenta del Servicio de red establece que "si su aplicación ASP.NET necesita usar archivos o carpetas en otras ubicaciones, debe habilitar específicamente el acceso". Esto me dice que la restricción predeterminada de la carpeta temporal no se debe a que la carpeta temporal se haya seleccionado, sino que todas las demás ubicaciones además de la carpeta raíz de IIS están restringidas de forma predeterminada.

% windows% \ temp no es para temp'ing general y vomitar. Es muy claro que Crystal Reports está abusando de ese directorio. Esto sucede mucho cuando los desarrolladores son demasiado flojos para arrancar sus máquinas con cualquier cosa que no sea una cuenta de administrador.

Cada usuario (incluido el Servicio de red) tiene su propio espacio temporal, con derechos de acceso completos, en Documentos y amp; Configuración . Los ganadores no actúan como CR, y usan sus propios espacios temporales.

En resumen, no hay nada de malo con los permisos predeterminados en win \ temp. Creo que es simplemente para el funcionamiento interno de Windows. (Por otra parte, sería mucho mejor para todos los interesados, si ese directorio nunca existió en primer lugar).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top