¿CHMOD en ASP?

SeiYa

Buenas, a pesar de tener un odio aférrimo a .ASP estoy en una empresa de prácticas en las que se programa tanto en .ASP como en ASP .NET...

El caso es que, una vez presentada y resumida mi vida, me gustaría saber si hay algo parecido al chmod de php para asp.

Gracias por todo y un saludo tralarí, tralará.

trinytron

el CHMOD son los permisos que hay en Linux. En Windows con un sistema NTFS tienes algo bastante parecido que es la pestaña de seguridad que en mi opinion es mas potente que los permisos de Linux.

n1x3r

#2

Mas potente q el CHMOD de linux????? xDDDDDDDDD

Por algo sera q todas o practicamente todas las empresas de hosting basan sus permisos en CHMOD

¿no crees?

Y

y a parte del chmod tienes los *attr:

lsattr
chattr
...

para no solo cambiarle los permisos, también los atributos. Por ejemplo si algún fichero le pones atributo "i" (sin las comillas) ese fichero no podrá ser modificado ni cambiado de ninguna de las maneras, o por ejemplo cuando se le pone el atributo "s" la zona donde se encuentra los datos del fichero al borrarlo será sustituido por ceros, por lo tanto la eliminación se hace más segura, no un simple unlink, pero no por ello imposible de recuperar (aunque sí más dificil)

Y muchos más rollos, con "a" los ficheros solo pueden agregarse información, pero no puede eliminarse contenido.

Y mucos otros atributos más... canela fina.

guner

El jodido tema de linux se está convirtiendo en un flame en toda regla.

Chmod es una herramienta para cambiar permisos en UN SISTEMA DE ARCHIVOS compatible con unix, no "los permisos de linux".

Que yo sepa en NTFS no existe tal cosa, al menos que sea tan potente.

#1 ¿para qué necesitas hacerlo? Lo máximo que puedes hacer (creo) es poner o quitar permiso de escritura.

SeiYa

Eso quiero poner permiso de escritura XD

Soltrac

No entiendo bien la pregunta...q preguntas...como se maneja el sistema de permisos de windows 2000/2003 server o como puedes manejar esos permisos a traves de programacion en ASP?

Pq cuando dices "los permisos de PHP" creo q estas mezclando conceptos.

Si es lo segundo, no tengo ni idea como se hace ni en PHP ni en ASP, pero seguramente con acceso al API de windows se pueda.

Respecto a lo primero, no depende de si es PHP o ASP. Depende del servidor sobre el q esta montado la aplicacion está en unix (linux generalmente) o windows. Si es unix, se utiliza el chmod q seguro q conoes. Si es windows, no conozco ningun comando, programa ftp, etc que pueda cambiarlo. Tienes q acceder como usuario (conexion remota, etc) darle al segundo boton encima del fichero, carpeta, etc. y ahi jugar con los permisos. Si te fijas, se parecen muxo a los de linux, solo q algo mas "user friendly". No recuerdo muy bien si los permisos con carpetas y archivos eran igual q en unix, creo q si, pero vamos, q si es para dar escritura y poco mas, no tendras q comerte mucho la cabeza. Tan solo seleccionar usuario y q permisos tiene. (Te daras cuenta q existen permisos para el owner, el grupo del owner y para el resto, en windows reflejados como owner = usuario del archivo, grupo del owner q no tiene pq existir y el resto = Todos)

IS4kO

Como perfectamente dice #7 para UNIX CHMOD x,x,x

Por otro lado, para incluir permisos de archivo NTFS asociados a archivos ASP.NET y carpetas en su auditoría. Éstos se pueden heredar de las carpetas principales o se pueden definir de forma única para cada archivo.

Para auditar fácilmente los permisos de archivo para un número grande de archivos, puedes utilizar la utilidad Cacls.exe de línea de comandos

www.msdn.com

SiCk

Pues te vas a cagar para dar permisos correctamente en asp.net xD

SeiYa

Que tengo una libreria de mierda para hacer un pdf, pero no me le crea por que no tengo permiso de escritura en la carpeta y quiero dar permiso de escritura en la carpeta para poder crear el puto pdf con esa mierda de libreria de este apestoso lenguaje.

IS4kO

Apestoso??? joe otro radikal informático, paciencia hombre, relajate q las cosas no son 1 ó 0 blanco o negro...

El lenguaje no tiene nada que ver en ese tema, los permisos son uno de los temas mas engorrosos de windows y microsoft en general, pero gracias a las sucesivas implementaciones del framework puede manipularse con total independecia del lenguaje que uses.

Dicho esto, y esperando que el level de relax crezca, dime, que estas haciendo exactamente, donde estas intentando escribir el archivo, carpeta en red, local, servidor (iis?), etc...

SiCk

El lenguaje no es apestoso, apestoso es el IIS que me obligo a dejar asp.net y ponerme con php.

shortyStyle

#2 Estás de broma, no?

trinytron

#3 es mas potente, seguro que tu no has visto los permisos especiales que trae NTFS y si todas las empresas como tu dices usan Linux/UNIX es por no pagar licencia.

Hace unos meses una de las mayores compañias de hosting del mundo paso sus servidores Apache a IIS... por algo sera....

No soy defensor del software privativo pero la verdad esque NTFS es un gran sistema de archivos con bastante potencia.

Los nuevos productos de Microsoft hasta ahora su politica era de politica de seguridad baja a alta (de abierto a cerrado) y ahora con toda la gama nueva de productos como windows vista la seguridad es de alta a baja, es decir, de cerrado a abierto.

Linux siempre sera mas apreciado por la comunidad de internet puesto que es libre y todo el mundo puede contribuir a su fabricacion.

VipeR_CS

#11 a decir verdad en informática las cosas sí son 1 o 0

IS4kO

#15 creo que la metafora era clara no? ;)

SeiYa

Pues ahora mismo estoy trabajando en IIS pero vamos, el único problema es que al crear el .PDF en la carpeta necesita tener permiso de escritura en ella, no es nada más que eso.

Yo en PHP le ponía 777 lo creaba y luego 000 y pista, pero aquí no tengo ni idea.

Y no es ser un "radikal" es que lo he probado mucho y no me gusta, y si no me gusta, pues es normal que diga que es apestoso y que huele mal (si los lenguajes de programación tuviesen olor, claro XD)

IS4kO

La ignorancia en muchos casos es atrevida solia decir un filosofo de nose donde, no lo digo por ti concretamente SeiYa lo digo en general, muchas veces si las cosas no se hacen como queremos o como estamos acostumbrados a hacer, o simplemente como nos imaginamos que deberían hacerse, ya pensamos que no es bueno, que no merece la pena o que es raro, apestoso, o mal oliente, si a eso le sumamos todas las circunstancias que rodean al mundo microsoft, pues nos lanzamos muchas veces a la piscina sin razón, pero bueno, volviendo al hilo...

Si estas trabajando con el IIS, comprueba que el directorio virtual en el que estas trabajando no tiene habilitado el acceso anonimo, o si lo prefieres mete tu usuario a capón dándole los permisos, eso si, en tu IIS.

Recuerda que si estas trabajando y probandolo desde vs estaras intentado escribir con el usuario aspNet y si tienes activado el acceso anonimo lo tendras que habilitar, mirate tb que tipo de autenticacion tienes marcada en la seguridad de directorios de la carpeta en cuestion (desde el iis claro), autenticacion integrada de windows, básica, implicita etc...,

Bueno, supongo que si tanto lo has probado, sabrás de qué te estoy hablando y que ya lo habrás probado todo, asi que si sigues sin saber el error da más datos de lo que estas haciendo, pq .net es un universo al iwal q iis, que tipo de aplicacion es... de consola, web, winform, si estas tirando de la autenticación del web.config, etc...

guner

#14, #2 el rigor técnico de tus explicaciones no me inspira mucha confianza.

Seiya sólo quiere saber como cambiar los permisos de escritura de un archivo ¿tan difícil es?.

|| Ah, vale te he entendido.
V

IS4kO

#19 El problema de Seiya no es precisamente el cambiarle los permisos a un archivo.

Su problema es que tiene una librería que le genera un pdf el cual quiere escribir en un directorio.

Pues para que la generación se realice tendrá que tener permisos sobre ese directorio, que no archivo, y esto no es facil, ya que depende de muchas cuestiones, si el directorio lo tuviera en local pues simplemente ni te daría error (por defecto), pero me imagino que lo estará creando en un carpeta en red, probablemente en una carpeta virtual que dependerá del iis.

El problem es que esa carpeta puede estar configuradas de mil maneras, por ejemplo puedes indicarle al iis que lea el usuario con el que te has validado al iniciar tu windows en ActiveDirectory (que será lo mas probable), o que tire de un login y pwd específicos, etc... dependiendo de esto, el procedimiento para dar permisos será uno u otro...

Y

#14 cuando aparezca nuevos virus que arrasen tipo, blaster, o incluso los graciosos como el viejo virus I love you, que dejó muchos servidores (incluso algún que otro aeropuerto) sin funcionar, me dirás que es por la licencia.

La mayoría de los servidores son unix, no todos son GNU/Linux, aunque si son bastante.

Luego, no considero un gran sistema de ficheros aquel que necesita ser defragmentado con regularidad. Los sistemas de ficheros utilizados en Unix no tienen ese problema (bueno, tienen una pequeña fragmentación interna, pero eso le pasa a todos los sistema de ficheros). Y eso sin hablar de las búsquedas por inodes que traen implementado ya (algo que algún día saldrá con el winfs).
Uno muy bueno es el JFS, que genera de manera dinámica memoria para el grosor de los inodes, lo que hace que se puedan manejar los datos mucho más rápido. Tiene una mayor administración de directorios entre otras mejoras más.

trinytron

#21 cuand me he referido a un gran sistema de archivos me referia a los atributos de seguridad que incorpora NTFS. Cuando vino el Blaster, Saser y todos estos no me afecto puesto que tenia un router que hacia de firewall. Y que yo recuerde desde el SP2 no ha habido muchos mas casos de gusanos tan potetnes como el blaster o el saser en su dia.

#20 Creo que es mas facil de lo que piensas solo es darle permisos de escritura al usuario del IIS en el directorio donde quiera guardar el PDF luego decirle al IIS que ese usuario tiene permisos de escritura y ya esta.

Y

Vuelvo a decir que un sistema de archivos que necesite una defragmentación como rutina no me parece que se pueda calificar como "gran".

Desde el sp2 (realmente desde hace mucho antes) la moda son los spyware ahora, de todas formas hasta que aparecen dichos virus no hay tales tragedias.

Y tú mismo lo has dicho, la mayoría de los virus no afectan por el firewall, algo que trae ahora incluido, pero no quita que su sistema de permisos no sea capaz de dar una seguridad medianamente eficiente.

Hasta que sale un nuevo sp, el sistema es parcheado, por lo tanto consume más recursos, pues la mayoría de estos parches son aplicaciones.

Pero es fácil, si es verdad que su seguridad es tan buena y que no usan windows la empresa solo por la licencia, por que microsoft no solo te "coacciona" (entre comillas, porque se pone de pesado) con que le pongas un antivirus (si no lo tienes te empieza a saltar una ventanita hasta que te instales uno y/o le digas que ya lo tienes instalado) o mejor aún, por qué microsoft está desarrollando su propio antivirus?

Vuelvo a decir que no es solo por la licencia y creo que estos ejemplos son bastante claros.

trinytron

La gran mayoria de virus excepto el sasser y el blaster necesitan privilegios para poder ejecutarse. Seguramente si los ejecuta un usuario normal y corriente del sistema seguro que el virus no peude infectar el PC.

En cuanto a lo que te salta la alerta del centro de seguridad por no tener instalado un virus se puede quitar diciendo que tienes tu propia solucion antivirus (en las opciones del centro de seguridad te viene una pequeña casilla.....)

Con el Windows XP sin ningun SP(el primero que sacaron) ya te venia un firewall, eso si, desactivado. El firewall que viene con el SP2 es un modificacion del firewall anterior que te viene por defecto activado aunque tampoco es que sirva de mucho.

Pero realmente, el firewall al que me referia yo era al de un router o un servidor firewall. Creo que son pocos los Windows 2003 infectados por virus en cambio los Windows XP se infectan mas porque todo el mundo tiene una cuenta administrador y hace lo que le sale de la real gana....

Quiza el concepto que tengas tu de un gran sistema de archivos sea que no se tenga que fragmentar, como bien dices, sistemas de archivos unix/linux. Conceptualmente para mi, un gran sistema de archivos es aquel que tenga un gran sistema de seguridad.

NTFS trae este gran sistema de seguridad, en Windows XP Professional hay que activarlo (Herramientas>Opciones de carpeta>Ver>Utilizar uso compartido.......) ya que por defecto viene desactivado.

Sin duda las posibilidades que ofrecen los sistemas de archivos Linux/Unix sobre la seguridad son muy potentes y eso no lo voy a discutir ya que para trabajar remotamente con ellos es mucho mas facil trabajar con CHMOD que con un sistema NTFS que has de editar los permisos de archivos/directorios mediante una interface grafica haciendo control remoto a la maquina y/o estando en la maquina local.

Pero sigo pensando que las posibilidades que ofrece sobre la seguridad de archivos y/o directorios es mas potente las de un sistema NTFS que las de un sistema de archivos de unix/linux ya que NTFS incopora los permisos especiales que te dan posibilidad de elegir mas opciones en cuanto a atributos de seguridad.

Es lo que pienso, tampoco soy ningun experto y todo lo que se es por el tiempo que he dedicado ha trabajar con estos sistemas de archivos que son totalmente distintos.

Tambien me gustaria añadir que estos temas creo que estan bien para debatir y se tendrian que dar mas en esta comunidad :P

IS4kO

#22 Es una de las opciones que comentaba, meter el user y pass a pelo en el iis y listo... pero a saber que tipo de arquitectura y seguridad tienen montada donde esta realizando dichas practicas, pero vamos que visto el interés de contestar al post supongo que no sería muy importante..

I

SeiYa, yo también he tenido ese problema en más de una ocasión y la solución está en CONTACTAR CON EL PROVEEDOR DEL HOSTING para que ellos le otorguen permisos de escritura a la carpeta donde quieres guardar el archivo (no puedes hacerlo tú puesto que no eres administrador).

LLevo muchos años programando, tanto en PHP como es ASP, y mi experiencia me demuestra que PHP es más fácil, simple y potente, además de FREE. La prueba está en que para hacer un mismo script, en PHP siempre hacen falta menos líneas de código.

Por otra parte, lo que causa la mayoría de los inconvenientes no es el propio lenguaje ASP, si no el puto servidor Windows, que es jodido, retorcido y caprichoso con cojones. Y no solo me refiero a programación, si no a administración del propio hosting, todo es más complicado, limitado y problematico (cuentas de correo, FTP, etc... ). Linux es más fácil, "suelto", sin tantas limitaciones y prácticamente exento de problemas.

Ahora dicen que el .NET va a solucionar todos los inconvenientes, pero aún no me creo nada, puesto que las personas que conozco que lo están probando no paran de "comerse el coco" para hacer funcionar cualquier script.

SUERTE

SeiYa

#25 interés ... pues que quieres que te diga, no lo he leído antes por problemas personales, pero realmente le perdí después de ver las 10 primeras respuestas discutiendo entre que sistema de archivos es mejor.

Ahora estoy trabajando en mi ordenador únicamente, para hacer las pruebas y ya después pues se pondrá en el servidor remoto. Estoy en mi ordenador con el iis de palo que trae el Windows XP

Y mucho tiene que cambiar para que me guste más asp que php, lo digo por lo que dijiste de que nos lanzamos muchas veces a la piscina sin razón. Esto lo digo por que en php todavía no tuve ningún problema a la hora de realizar cualquier script y en asp es empezar y ya salen problemas de mil tipos que no vamos a nombrar por que no vienen al caso.

El caso es que me deniega el acceso a la hora de crear el pdf en la carpeta y cuando abrí el post era por saber si había una forma de dar los permisos por código, ya que ahora estamos trabajándolo con el iss del xp y mañana no se con que lo harán.

Un saludo.

Y

La gran mayoria de virus excepto el sasser y el blaster necesitan privilegios para poder ejecutarse. Seguramente si los ejecuta un usuario normal y corriente del sistema seguro que el virus no peude infectar el PC.

Nivel de usuario y de administrador tiende de un hilo en este sistema operativo, algo que security focus se ha quejado más de una vez.

En cuanto a lo que te salta la alerta del centro de seguridad por no tener instalado un virus se puede quitar diciendo que tienes tu propia solucion antivirus (en las opciones del centro de seguridad te viene una pequeña casilla.....)

Entonces me das la razón, si no es necesario, por qué te pide que te instales uno y/o en su defecto le digas que YA TIENES UNO?

Pero realmente, el firewall al que me referia yo era al de un router o un servidor firewall. Creo que son pocos los Windows 2003 infectados por virus en cambio los Windows XP se infectan mas porque todo el mundo tiene una cuenta administrador y hace lo que le sale de la real gana....

Por lo tanto, seguridad por defecto nulo. Hay que desglozar la parte de administración a la de usuario, donde el error humano tiene una mayor incidencia. Es preferible que el sistema por defecto ya separe estos dos niveles de administración.

Quiza el concepto que tengas tu de un gran sistema de archivos sea que no se tenga que fragmentar, como bien dices, sistemas de archivos unix/linux. Conceptualmente para mi, un gran sistema de archivos es aquel que tenga un gran sistema de seguridad.

NTFS trae este gran sistema de seguridad, en Windows XP Professional hay que activarlo (Herramientas>Opciones de carpeta>Ver>Utilizar uso compartido.......) ya que por defecto viene desactivado.

Para mi, y cualquiera, un gran sistema de ficheros no es aquel que requiera un gran mantenimiento. Nivel de seguridad lo tiene cualquiera, de todas formas, el nivel de seguridad del sistema de ficheros de windows se basa en el SAM, y el SAM, hasta con la cuenta de invitado lo puedes desactivar...

Pero sigo pensando que las posibilidades que ofrece sobre la seguridad de archivos y/o directorios es mas potente las de un sistema NTFS que las de un sistema de archivos de unix/linux ya que NTFS incopora los permisos especiales que te dan posibilidad de elegir mas opciones en cuanto a atributos de seguridad.

Cualquier sistema de permisos unix compatible también. Sin ir más lejos, uno de los más usados en Ext3 son los attr, donde ya expliqué anteriormente su uso.

Uniendo al sistema de permisos UGO dan mucha potencia, y esto es el base, lo que trae todo sistema de ficheros en general. De ahí, cada sistema de ficheros tiene sus propio nivel de sistema de permisos/atributos...

Otro de los casos por el cual no lo considero un gran sistema de fichero, es que cuando hay un apagon inesperado, el NTFS suele sufrir mucho, llegar a corromperse incluso el sistema de ficheros.

No son pocos los que han escrito en este foro después de un apagón bruto que no pueden arrancar el SO.

Luego, el NTFS es muy lento, sobre todo si no se ha defragmentado. Además de la ejecución de todos sus permisos lo hace ir más lento aún...

Por lo tanto, como ya he dicho antes, necesita un continuo mantenimiento, desde la defragmentación (porque si no, puede llegar un momento que el usuario no pueda trabajar) hasta el control de los permisos de seguridad y el SAM no se corrompan fácilmente (como un apagón). Hombre, en empresas eso no debe de ocurrir, ya que utilizan SAI para evitar estos problemas. Pero el uso del SAI principalmente es para estabilizar la corriente, no para que no se pierdan los datos.

No hay sistema de ficheros capaz de vencer los problemas de los apagones, pero algunos, como el reiserfs, son capaces de recuperarse muy bien, prácticamente sin sufrir daño alguno.

Vamos, no es que sea un GRAN sistema de ficheros, simplemente, para windows no hay nada mejor.

SeiYa

#28 te creas tu post y que vaya tu gente a postear en el, este post es para rebatir una duda, no para hablar de lo que queráis desviando el tema.

Por mucho que tenga que ver la seguridad en Windows con mi pregunta, no es de recibo el que os lieis a discutir.

Whose, cierra esto cariño XD

Y

#29 Si por supuesto, me cree mi post en el #28, hermoso me quedó.
Mmm, no me desvio del todo, alguien dice algo que está equivocado en el mismo tema, por lo tanto en el mismo tema lo corrijo. Si alguien sigue con la misma, no es mi culpa, pero generará ideas equivocadas, e ideas que se puede confundir con tu duda.

Por lo tanto, no hablo de lo que me da la gana, respondo a cuestiones generadas en este hilo.

por cierto, el post #29 tampoco trata del tema ;) deberías haberlo abierto en un nuevo hilo. (Un poco ridículo no crees).

Además, uno ya te contestó, en sistema de permisos habla con la compañía que te sirve el hosting, o en este caso con la empresa de prácticas.

También has de comprobar si los permisos son del sistema o son ACL, por lo tanto puede variar bastante. Porque los permisos de los directorios dependeran del nivel de acceso que tenga tu usuario en el domino (con ACL). Al final, igualmente vas a tener que hablar con el admin del servidor.

Usuarios habituales