Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Administración del sistema » Redes y Servidores


Nuevo tema Responder al tema
 [ 10 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Jue Sep 15, 2011 11:45 am
Mensajes: 4

Nota Publicado: Jue Sep 15, 2011 11:52 am 
Arriba  
Hola,

Soy bastante nuevo en linux y algunos conceptos no los llego a comprender.
Tengo un servidor con CentOS y me da error al subir un archivo usando la función de PHP "move_uploaded_file" por un motivo de permisos. Si la carpeta a la que intento subir el archivo le pongo permisos 777, funciona pero si le pongo algo más restrictivo como 711 o 755 me da el error de antes.

Quisiera que me explicarán como es posible que dé problemas siendo el propio PHP el que está realizando la función, qué usuario es? como puedo otorgarle más permisos a PHP(si es que se puede hacer) para que con permisos más restrictivos pueda funcionar la función.

Para más datos el warning que da es "Warning: move_uploaded_file(/var/www/html/airt/users/images_eventos/3.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied "

 Perfil Email  

Conectado
Moderador
Moderador
Avatar de Usuario

Registrado: Dom Abr 18, 2010 4:30 pm
Mensajes: 2790
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)

Nota Publicado: Jue Sep 15, 2011 1:02 pm 
Arriba  
El usuario que ejecuta php es el ultimo numero de la cifra de permisos por lo que si no tienes permisos de escritura no puede subir ficheros .. puedes quitarle los permisos de lectura o ejecución pero no el de escritura ...

es estraño que no te funcione con 775 podrias postar tu función php

_________________
... reinstalar un SO cuando produce un error es como tirar un bebe a la basura cuando se hace caca..

Trusted Network and Developer | Reglamento General de los Foros |WIKI-EL | Twitter @SISIAM
Debian| ArchLinux |Linux User #508809

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Jue Sep 15, 2011 11:45 am
Mensajes: 4

Nota Publicado: Jue Sep 15, 2011 1:02 pm 
Arriba  
Y siendo yo el administrador del sistema, como puedo darle a PHP más permisos?

 Perfil Email  

Conectado
Moderador
Moderador
Avatar de Usuario

Registrado: Dom Abr 18, 2010 4:30 pm
Mensajes: 2790
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)

Nota Publicado: Jue Sep 15, 2011 1:07 pm 
Arriba  
para cambiar los permisos de sde consola lo haces con el comando chmod xxx donde xxx es el numero de permisos los clientes ftp también permiten cambiar los permisos y se estas en cpanel también puedes hacerlo...

_________________
... reinstalar un SO cuando produce un error es como tirar un bebe a la basura cuando se hace caca..

Trusted Network and Developer | Reglamento General de los Foros |WIKI-EL | Twitter @SISIAM
Debian| ArchLinux |Linux User #508809

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Jue Sep 15, 2011 11:45 am
Mensajes: 4

Nota Publicado: Jue Sep 15, 2011 1:42 pm 
Arriba  
Esto lo sé, de ahí que haya podido hacer distintas pruebas con distintos permisos.

La pregunta es ¿Cómo hacer para que PHP pueda escribir en carpetas con permisos 711 o 755? y no 777 que es por el momento el único permiso con el que no da error al guardar el archivo

 Perfil Email  

Conectado
Moderador
Moderador
Avatar de Usuario

Registrado: Dom Abr 18, 2010 4:30 pm
Mensajes: 2790
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)

Nota Publicado: Jue Sep 15, 2011 2:20 pm 
Arriba  
el permiso es sobre el directorio/fichero no sobre php -->

_________________
... reinstalar un SO cuando produce un error es como tirar un bebe a la basura cuando se hace caca..

Trusted Network and Developer | Reglamento General de los Foros |WIKI-EL | Twitter @SISIAM
Debian| ArchLinux |Linux User #508809

 Perfil WWW  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Jue Sep 15, 2011 11:45 am
Mensajes: 4

Nota Publicado: Jue Sep 15, 2011 2:24 pm 
Arriba  
ok, entonces no hay otra manera de que PHP pueda subir archivos si no es poniendo al directorio permisos 777?

 Perfil Email  

Desconectado
Forista Nuevo
Forista Nuevo

Registrado: Mié Abr 27, 2011 3:32 am
Mensajes: 49

Nota Publicado: Vie Sep 16, 2011 2:32 am 
Arriba  
Hola, no soy experto en servidores pero voy a intentarlo. Si usas apache, y dependiendo de cómo esté configurado (suponiendo mod_php) el usuario que ejecuta el script php es apache (o www-data u otro similar) luego tendrás que dar permisos al directorio donde se suba el fichero para que ese usuario pueda escribir en él o bien cambiarlo de propietario (con chown), adjudicándoselo al usuario de apache (o bien como haces con 777, permisos a todos, claro).

Hay formas creo para conseguir que sea el propietario del script quien ejecute el php, busca por SuPhp, SuExec, pero no te puedo decir nada sobre ello porque nunca los he usado con apache y lo más probable sería que te embrulle más.

saludos,

_________________
Linux gentoo 2.6.38-gentoo-r6
xmonad-0.9

 Perfil Email  

Conectado
Moderador
Moderador
Avatar de Usuario

Registrado: Dom Abr 18, 2010 4:30 pm
Mensajes: 2790
Ubicación: En una de las nalgas del culo del mundo (según la Bersuit Vergarabat)

Nota Publicado: Vie Sep 16, 2011 6:45 am 
Arriba  
Es que el problema real consiste en que debes permitir la escritura por parte de un usuario x ( el del tercer digito ) en un directorio de tu sistema web -- y para ello debes darle permisos de escritura..

La seguridad es Chequear lo que sube osea que no sean cosas con doble exención y con exenciones no validas ( .php ) y que el directorio no este por enésima de otros directorios ... deberias quitarle los permisos de ejecución por parte de los terceros para que no sea llamado mas que por tu aplicación.

muéstranos tu script para poder evisarlo

_________________
... reinstalar un SO cuando produce un error es como tirar un bebe a la basura cuando se hace caca..

Trusted Network and Developer | Reglamento General de los Foros |WIKI-EL | Twitter @SISIAM
Debian| ArchLinux |Linux User #508809

 Perfil WWW  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mar Jul 19, 2005 11:00 pm
Mensajes: 3752
Ubicación: /home/Peru/Lima/La Molina

Nota Publicado: Vie Sep 16, 2011 8:58 am 
Arriba  
y luego dicen porque hackean servidores, en fin ..... los permisos para una web se deben manejar por usuario y grupo, para lo cual los permisos deben ser por lo general "644" usar 755 a veces no es tan "practico" ...

_________________
"Quiero cambiar al mundo pero no me dan los RPM"
----------------------------
Tony Blair
Linux User # 433253
Ubuntu User # 9562
-----------------------------

 Perfil Email WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 10 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: mcun y 1 invitado

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO