Foros del Web » Programando para Internet » PHP »

mi script trabaja como nobody?

Estas en el tema de mi script trabaja como nobody? en el foro de PHP en Foros del Web. Hola, tengo un script que me sube unos archivos , y cual ha sido mi sorpresa cuando lal ir a borrar dichos archivos por ftp ...
  #1 (permalink)  
Antiguo 26/02/2003, 17:39
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 15 años, 10 meses
Puntos: 2
mi script trabaja como nobody?

Hola, tengo un script que me sube unos archivos , y cual ha sido mi sorpresa cuando lal ir a borrar dichos archivos por ftp , em dice q permiso denegeado.

El permiso que le da el script es 644 que no lo pueden borrar ni los del servidor

Me han dicho lso del servidor que e spor eso , que es porq me crea lo archivos en nobody.

ALguien sabe porq?

el script es el siguiente:
Código PHP:
if (isset ($uptema)) {
set_time_limit(0);


$newtema sprintf ("$usuario_login/%s"$uptema_name);
move_uploaded_file($uptema$newtema);
$temarm ereg_replace"mp3""rm"$newtema );
$linkstream ereg_replace"mp3""ram"$newtema );
$crearam=fopen($linkstream,"w+");

$fechadate("n,j,Y");


$desde= (mktime(0,0,0,$fecha));
fwrite($crearam,"http://www.musikaid.com/artistas/$temarm");

$dbh mysql_connect("localhost""musikaid_user""pass");
     
mysql_select_db ("musikaid_temas"$dbh);
mysql_select_db("musikaid_temas");
 
$sql "INSERT INTO temas (nombretema, ano, idsau, compositor, descripcion, letra, linktema , usuario, subcategoria,linkstream,temarm,desde) ";
     
$sql .= "VALUES ('$nombretema', '$ano', '$idsau', '$compositor', '$descripcion', '$letra', '$newtema','$usuario_login', '$estilo', '$linkstream','$temarm','$desde' )";
     
$result mysql_query($sql);
echo 
mysql_error();
$sql "INSERT INTO datos (nombretema, usuario ) ";
     
$sql .= "VALUES ('$nombretema','$usuario_login' )";
     
$result mysql_query($sql);
echo 
mysql_error();

echo 
"El tema se ha subido con exito ,los administradores lo revisaran lo antes posible";
echo 
"</TD>";
echo
"</TR>";
echo 
"</TABLE>";
    echo
"</table>";

  #2 (permalink)  
Antiguo 26/02/2003, 18:32
 
Fecha de Ingreso: diciembre-2002
Mensajes: 341
Antigüedad: 15 años
Puntos: 0
En tu servidor, Apache esta ejecutandose como el usuario "nobody" y como PHP estará instalado como módulo de Apache, todo script PHP se ejecutara como el usuario "nobody".

Esto conlleva que el propietario y grupo de todo fichero creado desde PHP será "nobody". Y como según indicas, crea el fichero con permisos 644, solo el propietario del mismo, es decir, nobody puede escribir o eliminar el fichero. Los demas usuarios (todos excepto el root), solo pueden leer el fichero.

Cuando tu te conectas al servidor mediante FTP, te conectas bajo tu usuario por lo que no puedes hacer nada con ese fichero, solo leerlo.

Tu única solución es que al crear el fichero, le cambies los permisos a 666. De esta forma, podrás eliminar el fichero usando el FTP. PHP dispone de la función chmod() que te permite cambiar los permisos.

Un saludo
__________________
guebs - alojamiento web y dominios
www.guebs.com
blog.guebs.com

Última edición por Argintxe; 26/02/2003 a las 18:35
  #3 (permalink)  
Antiguo 26/02/2003, 19:08
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 15 años, 10 meses
Puntos: 2
Hola, he probado esto y no lo entinedo pero hago un CHMOD pongo los permisos incluso a 0777 y me sigue diciendo que permision dennied aun viendo via ftp q el permiso esta en 0777

saludos
  #4 (permalink)  
Antiguo 27/02/2003, 04:52
 
Fecha de Ingreso: diciembre-2002
Mensajes: 341
Antigüedad: 15 años
Puntos: 0
Lo acabo de probar en un FreeBSD y funciona perfectamente... No se que decirte.

Desde el FTP quien ves que es el porpietario del fichero?

Solo se me ocurre que Apache este ejecutandose como root y que el servidor FTP este configurado para mostrar los ficheros de root como nobody y.... Aunque nadie con un mínimo de sentido común haría algo así....

Tiene que ser algo más sencillo que todo esto.

Probaré algunas cosas y te respondo.

Un saludo
__________________
guebs - alojamiento web y dominios
www.guebs.com
blog.guebs.com
  #5 (permalink)  
Antiguo 27/02/2003, 08:27
Avatar de lochorui  
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 899
Antigüedad: 15 años, 10 meses
Puntos: 2
ok thanks
  #6 (permalink)  
Antiguo 28/02/2003, 12:26
 
Fecha de Ingreso: diciembre-2002
Mensajes: 341
Antigüedad: 15 años
Puntos: 0
Nada... lo he probado en un Red Hat y también me funciona. Lo único que se me ocurra es que hables con los del soporte técnico de tu servidor....

Sineto no haber podido ayudarte más.

Un saludo
__________________
guebs - alojamiento web y dominios
www.guebs.com
blog.guebs.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:33.