Recientemente en el trabajo he tenido que configurar un directorio virtual para el sistemita que estamos desarrollando, sin embargo me ha dado mucha lata la configuracion de los permisos para que no me diera el gracioso error de:
usuario ASPNET no tiene permisos sobre el directorio
"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files"
En un principio no me preocupo y fui a darle permisos al usuario en el mencionado directorio, sin embargo cuando caducan los permisos del directorio (no me pregunten cada cuando sucede porque no se) resulta que el directorio, una vez mas es inaccesible para el usuario. Entonces LF me menciona que podemos darle permisos mediante un comando del framework de .NET que da permisos sobre la metabase de IIS[1] y al hacerlo le da permisos al usuario aspnet para poderlo configurar. Asi que lo probe, ejecute el comando en la consola:
C:\WINNT\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis –ga ASPNET
Pero nada, resulta que ese lo aplicabamos en el windows XP y si funcionaba (aunque claro que por poco tiempo), busque informacion sobre permisos de windows y la cuenta de ASPNET hasta que llegue a la respuesta de mis problemas. En un principio se me hizo algo compleja, pero despues de todo suena logico, habia que darle permisos en el archivo de configuracion del machin.config editando lo siguiente:
<processmodel username="machine" password="AutoGenerate"></processmodel>
El userName y los atributos password controlan la identidad del proceso y los anteriores son los predeterminados. En un principio le cambie el password al usuario (que en el 2003 es el
NETWORK SERVICE ) y lo agregue en el machin.config de la siguiente manera:
<processmodel username="NETWORK SERVICE" password="pass123"></processmodel>
Pero aun asi seguia con el conflicto asi que decidi ponerlo como sugieren en la ayuda de microsoft[2] :
<processmodel username="SYSTEM" password="AutoGenerate"></processmodel>
Con eso me basto para que dejaran de dar problemas los permisos del sistema, que por cierto se me hacen muy poco intuitivos y faltos de documentacion. Que diferencia con linux, tan solo un simple:
Angy:~/ chmod -R 755 /mi/directorio
Angy:~/ chown -R www-data /mi/directorio
y listoooo!! los permisos se han asignado. No es que windows no tenga facilidad en muchas cosas, sino que en particular en este tipo de cuestiones no es nada amigable. Hoy actualice y reconfigure mi sistema en tan solo un par de horas, tambien configure mi apache con php5 y ahi no se quejo para nada, no se si sea porque ya lo he hecho muchas veces o en definitiva esta mas documentado y es mas intuitivo (claro al estilo de unix

).
Para mas informacion creo que seria bueno darse una paseada por el portal del msdn de microsoft[3] y aprender a ver los logs de errores de windows.
Espero esto le sirva a alguien mas porque la verdad es que uno pierde muuucho tiempo en este tipo de cosas.
[1]
http://support.microsoft.com/?kbid=267904
[2]
http://support.microsoft.com/kb/317012/
[3]
http://support.microsoft.com/kb/324383