PHP - Subir archivo con permisos determinados

 
Vista:

Subir archivo con permisos determinados

Publicado por Raulete (49 intervenciones) el 09/08/2005 13:16:28
Buenas, en el local tengo un menu de administración que funciona perfectamente, pero cuando lo subo al servidor me da algun problemilla, todos los archivos que tengo en el servidor tienen como propietario un usuario, con los permisos correspondientes.

Y yo todo lo que subo a través de mi menu, me apatece con el usuario "www" como propietario, el problema viene cuando quiero borrar un archivo que pertenece al otro usuario.

¿Como puedo solucionar esto? ¿Puedo hacer q se suban los archivos y establecer el usuario y sus permisos?

El error al intentar borrar un archivo del otro usuario es el siguiente:

Warning: unlink(../../galerias/casareserva_08.jpg): Operation not permitted in /home3/castronu/castronuno-www/menuadmin/fotos/querydelete.php on line 6

Warning: Cannot modify header information - headers already sent by (output started at
/home3/castronu/castronuno-www/menuadmin/fotos/querydelete.php:6) in /home3/castronu/castronuno-www/menuadmin/fotos/querydelete.php on line 9

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Subir archivo con permisos determinados

Publicado por Mike79 (669 intervenciones) el 09/08/2005 19:14:02
Si tienes permisos de root, puedes entrar a la linea de comandos y:

Cambia los permisos, para que todos los archivos pertenescan al usuario www. En sistemas unix el comando es chown

Otra opción es jugar con los permisos de archivos, puedes poner permisos 666 para que el www tambien pueda borrarlos, el comando para cambiar los permisos en sistemas unix es chmod

Una ultima opción es que el usuario en cuestion pertenesca al mismo grupo que el www, asi solo tenrias que asegurarte que los archivos tienen permisos 660 ó 770 y así incrementas la seguridad, para esto tienes que modificar el archivo /etc/group

Ahora si no tienes permisos de root, lo unico que te puedo decir es que con php puedes cambiar los permisos del archivo que acabas de subir a travez de una página web o que acabas de crear, pero no puedes cambiar los archivos de otros usuarios a menos que tengas permisos (valga la redundancia). El comando de php para cambiar permisos es: chmod

http://www.php.net/manual/en/function.chmod.php

Si no tienes permisos de root, entonces habla con el administrador del servidor, para ver que se puede hacer y "negociar" los permisos que necesitas.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir archivo con permisos determinados

Publicado por Raulete (49 intervenciones) el 10/08/2005 11:08:24
Me he puesto en contacto, con la gente que lleva el servidor y me dicen que el error:

Warning: unlink(../../galerias/casareserva_08.jpg): Operation not permitted in /home3/castronu/castronuno-www/menuadmin/fotos/querydelete.php on line 6

Es un fallo de programación, he comprobado las rutas y son correctas y en el local esta sentencia se me ejecuta sin ningún problema.

Me indican tambien que debo subir los archivos con los permisos adecuados y con el usuario adecuado, ¿Como puedo yo hacer eso?

Subo los archivos mediante el comando copy. Los permisos ya se el comando q me indicaste pero para trabajar con el mismo usuario en lugar de con "www" no se como realizarlo.

Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir archivo con permisos determinados

Publicado por Mike79 (669 intervenciones) el 11/08/2005 04:25:18
El problema es que normalmente php no puede ejecutarse como otro usuario. Ya que es el apache el que ejecuta el php, y apache tiene el usuario www (o algun otro, dependiendo de tu servidor).

Lo que puedes hacer es un panel de administración para subir archivos desde páginas web, asi subes los archivos con el mismo usuario.

Otro truco seria ponerle permisos 666 a todos los archivos (o 777) segun el caso, para que el usuario de páginas web pueda modificar esos archivos.

Saludos!
-
Miguel Angel
Mike79
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar