FAQ
Alguien sabe como evitar que al crear un directorio con php (en apache con
linux) lo haga con el usurio nobody como propietario? usando la funcion
mkdir...

gracias


Atte.
Rodrigo
Cel: 76203443

Search Discussions

  • Caco Patane at Apr 27, 2009 at 9:12 pm
    Rodrigo,

    Bajo que usuario corre el apache? Hasta donde yo se, los archivos que
    generes desde PHP van con el usuario bajo el cual se esta ejecutando
    apache.

    Que tenes que hacer?

    Saludos,
    Caco_Patane <!>

    2009/4/27 Rodrigo Escares <rodrigo.escares@gmail.com>:
    Alguien sabe como evitar que al crear un directorio con php (en apache con
    linux) lo haga con el usurio nobody como propietario? usando la funcion
    mkdir...

    gracias


    Atte.
    Rodrigo
    Cel: 76203443
  • Cristian Wilgenhoff at Apr 27, 2009 at 9:51 pm
    @Caco: Apache corre bajo el usuario "nobody", a menos que le des
    permiso a todo el mundo para escribir el directorio padre, no vas a
    poder crear el dir con mkdir(user, "dir"). Al menos tengo entendido
    eso :S

    Saludos..
  • Rodrigo Escares at Apr 27, 2009 at 10:00 pm
    Si se crea con usuario nobody, eso no debería influir por ejemplo para que
    un administrador de archivos creado en php tenga problemas para borrar o
    escribir dentro de los directorios que el mismo va creando?
    Atte.
    Rodrigo
    Cel: 76203443


    2009/4/27 Cristian Wilgenhoff <cristian.wil88@gmail.com>
    @Caco: Apache corre bajo el usuario "nobody", a menos que le des
    permiso a todo el mundo para escribir el directorio padre, no vas a
    poder crear el dir con mkdir(user, "dir"). Al menos tengo entendido
    eso :S

    Saludos..

    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
  • Caco Patane at Apr 27, 2009 at 10:04 pm
    Si se crea con usuario 'nobody' y luego el usuario 'nobody' es quien
    manipula el directorio (crea, elimina, modifica archivos u otros
    directorios dentro), no vas a tener problema por que todo lo hace el
    mismo usuario.

    Saludos,
    Caco_Patane <!>
    Si se crea con usuario nobody, eso no debería influir por ejemplo para que
    un administrador de archivos creado en php tenga problemas para borrar o
    escribir dentro de los directorios que el mismo va creando?
    Atte.
    Rodrigo
    Cel: 76203443
  • Caco Patane at Apr 27, 2009 at 10:02 pm

    @Caco: Apache corre bajo el usuario "nobody", a menos que le des
    El usuario depende de la distribucion que estes usando.
    permiso a todo el mundo para escribir el directorio padre, no vas a
    poder crear el dir con mkdir(user, "dir"). Al menos tengo entendido
    eso :S
    La funcion mkdir[1] de PHP no toma como primer parametro un nombre de
    usuario, sino un path. Lo que Rodrigo puede hacer es crear el archivo
    con el usuario de apache y darle permisos de lectura/escritura al
    grupo o a todos los demas usuarios pasandole como segundo parametro a
    mkdir un modo:

    mkdir('directorio1', 0777);

    En el ejemplo, el directorio esta accesible a TODOS los usuarios del
    sistema, esto puede traer algunas consecuencias (seguridad!).

    Saludos,
    Caco_Patane <!>

    [1] http://www.php.net/manual/es/function.mkdir.php
  • Rodrigo Escares at Apr 27, 2009 at 10:06 pm
    Funciona con mkdir("/home/usuario/public_html/rodrigo/carpeta", 0777);
    se tiene acceso para escribir dentro... lo que pasa es que en algunas
    ocasiones no lo hace...
    donde puedo ver el log para encontrar el problema?

    Atte.
    Rodrigo
    Cel: 76203443


    2009/4/28 Caco Patane <cacopatane@gmail.com>
    @Caco: Apache corre bajo el usuario "nobody", a menos que le des
    El usuario depende de la distribucion que estes usando.
    permiso a todo el mundo para escribir el directorio padre, no vas a
    poder crear el dir con mkdir(user, "dir"). Al menos tengo entendido
    eso :S
    La funcion mkdir[1] de PHP no toma como primer parametro un nombre de
    usuario, sino un path. Lo que Rodrigo puede hacer es crear el archivo
    con el usuario de apache y darle permisos de lectura/escritura al
    grupo o a todos los demas usuarios pasandole como segundo parametro a
    mkdir un modo:

    mkdir('directorio1', 0777);

    En el ejemplo, el directorio esta accesible a TODOS los usuarios del
    sistema, esto puede traer algunas consecuencias (seguridad!).

    Saludos,
    Caco_Patane <!>

    [1] http://www.php.net/manual/es/function.mkdir.php

    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
  • Caco Patane at Apr 27, 2009 at 11:24 pm
    Dependiendo tu distribucion, los logs de apache pueden estar en
    '/var/logs/apache2/error_log'. De todas formas, podes verificar si
    mkdir creo el directorio o no fijandote que devuelve (true o false)
    haciendo alguna cosita asi (medio a las patadas):

    $directorio = 'directorio_a_crear';
    if(!mkdir($directorio)) {
    echo 'Error al crear '.$directorio.'<hr />';
    }

    O similar. =D

    Saludos,
    Caco_Patane <!>

    2009/4/27 Rodrigo Escares <rodrigo.escares@gmail.com>:
    Funciona con mkdir("/home/usuario/public_html/rodrigo/carpeta", 0777);
    se tiene acceso para escribir dentro...  lo que pasa es que en algunas
    ocasiones no lo hace...
    donde puedo ver el log para encontrar el problema?

    Atte.
    Rodrigo
    Cel: 76203443


    2009/4/28 Caco Patane <cacopatane@gmail.com>
    @Caco: Apache corre bajo el usuario "nobody", a menos que le des
    El usuario depende de la distribucion que estes usando.
    permiso a todo el mundo para escribir el directorio padre, no vas a
    poder crear el dir con mkdir(user, "dir"). Al menos tengo entendido
    eso :S
    La funcion mkdir[1] de PHP no toma como primer parametro un nombre de
    usuario, sino un path. Lo que Rodrigo puede hacer es crear el archivo
    con el usuario de apache y darle permisos de lectura/escritura al
    grupo o a todos los demas usuarios pasandole como segundo parametro a
    mkdir un modo:

    mkdir('directorio1', 0777);

    En el ejemplo, el directorio esta accesible a TODOS los usuarios del
    sistema, esto puede traer algunas consecuencias (seguridad!).

    Saludos,
    Caco_Patane <!>

    [1] http://www.php.net/manual/es/function.mkdir.php

    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php


    --
    And the void rumbles in
    Like an underground train
    Forever comes closer
    The world is in pain
    We all must be shown, we must realise
    That everyone changes and everything dies

    -----BEGIN GEEK CODE BLOCK-----
    Version: 3.12
    GIT dpu s:-- a-- C++ UL+++ P-- L++ E--- W+++ N o-- K- w---
    O---- M V- PS+++ PE-- Y+ PGP t+ 5-- X+ R+++ tv-- b++ DI-- D++
    G++ e h+ r-- y**
    ------END GEEK CODE BLOCK------
  • Julio Montoya at Apr 28, 2009 at 1:43 pm
    Hola amigos,

    por defecto el usuario de apache en ubuntu/debian es www-data

    Saludos,



    El lun, 27-04-2009 a las 20:24 -0300, Caco Patane escribió:
    Dependiendo tu distribucion, los logs de apache pueden estar en
    '/var/logs/apache2/error_log'. De todas formas, podes verificar si
    mkdir creo el directorio o no fijandote que devuelve (true o false)
    haciendo alguna cosita asi (medio a las patadas):

    $directorio = 'directorio_a_crear';
    if(!mkdir($directorio)) {
    echo 'Error al crear '.$directorio.'<hr />';
    }

    O similar. =D

    Saludos,
    Caco_Patane <!>

    2009/4/27 Rodrigo Escares <rodrigo.escares@gmail.com>:
    Funciona con mkdir("/home/usuario/public_html/rodrigo/carpeta", 0777);
    se tiene acceso para escribir dentro... lo que pasa es que en algunas
    ocasiones no lo hace...
    donde puedo ver el log para encontrar el problema?

    Atte.
    Rodrigo
    Cel: 76203443


    2009/4/28 Caco Patane <cacopatane@gmail.com>
    @Caco: Apache corre bajo el usuario "nobody", a menos que le des
    El usuario depende de la distribucion que estes usando.
    permiso a todo el mundo para escribir el directorio padre, no vas a
    poder crear el dir con mkdir(user, "dir"). Al menos tengo entendido
    eso :S
    La funcion mkdir[1] de PHP no toma como primer parametro un nombre de
    usuario, sino un path. Lo que Rodrigo puede hacer es crear el archivo
    con el usuario de apache y darle permisos de lectura/escritura al
    grupo o a todos los demas usuarios pasandole como segundo parametro a
    mkdir un modo:

    mkdir('directorio1', 0777);

    En el ejemplo, el directorio esta accesible a TODOS los usuarios del
    sistema, esto puede traer algunas consecuencias (seguridad!).

    Saludos,
    Caco_Patane <!>

    [1] http://www.php.net/manual/es/function.mkdir.php

    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php


    --
    And the void rumbles in
    Like an underground train
    Forever comes closer
    The world is in pain
    We all must be shown, we must realise
    That everyone changes and everything dies

    -----BEGIN GEEK CODE BLOCK-----
    Version: 3.12
    GIT dpu s:-- a-- C++ UL+++ P-- L++ E--- W+++ N o-- K- w---
    O---- M V- PS+++ PE-- Y+ PGP t+ 5-- X+ R+++ tv-- b++ DI-- D++
    G++ e h+ r-- y**
    ------END GEEK CODE BLOCK------
    --
    Julio Montoya Armas

    Dokeos Latinoamérica
    http://www.dokeos.com/latino

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedApr 27, '09 at 8:56p
activeApr 28, '09 at 1:43p
posts9
users4
websitephp.net

People

Translate

site design / logo © 2022 Grokbase