9 votos

Mi server Admin quiere que me públicos permisos de escritura en un directorio

Soy relativamente nuevo en el desarrollo web, así que por favor sea paciente.

Soy ante todo un desarrollador de iPhone, pero se han hecho recientemente un sitio para alguien más usando el hosting compartido. Yo podría escribir archivos en PHP en ese sitio multa, sin tener que pensar acerca de los permisos.

Estoy en el proceso de implementación de un servicio web para una nueva aplicación que estoy haciendo, pero en realidad no va sin problemas. La diferencia más importante aquí es que estoy usando el servidor de otra persona, y sólo han FTP/DB acceso.

Básicamente, tengo una carga de archivos PHP que hacen que mi CMS, así:

mysite.com/admin/manage_news.php
mysite.com/admin/manage_events.php

Las secuencias de comandos, a continuación, editar la base de datos o archivos. Se puede interactuar con la base de datos multa, sin embargo, mis scripts no se puede escribir en el sistema de ficheros. Se podría, por ejemplo, el intento de escribir a los siguientes archivos:

mysite.com/data/img/event_1.png
mysite.com/data/somefile.txt

Esto funcionó muy bien en mi MAMP instalar (a nivel local), pero una vez desplegada en el servidor, PHP vomitada errores cada vez que una escritura se intentó... algo como esto:

No se pudo abrir el archivo "../data/img/someimage.png" para la escritura.

Así que le envié un correo a la persona que ejecuta el servidor, y regresó diciendo:

Funciona con autorización pública? (777)

Y, de hecho - pero yo era muy cauteloso con el uso de permisos públicos, por lo que se desactiva inmediatamente de nuevo. Envié un correo electrónico de él diciendo: "¿cómo puedo hacer mis scripts de PHP de escritura con los permisos de usuario estándar", y él dijo:

Dejarlo como público, que va a estar bien

Yo creo que es un conflicto de ip en algún lugar en el dominio de la resolución, pero yo no estoy preocupado por eso.

Yo entonces le enviará por correo electrónico diciendo: "sin duda, este es inseguro" o algo a lo largo de esas líneas, y él respondió con lo siguiente:

la realidad es que hay millones de sitios web, incluyendo varios que me gestionar que han 777 en diferentes carpetas, sólo es una forma de vida.

Alguien podría darme alguna idea de que una solución podría darle? O ¿qué puedo hacer para evitar tener que utilizar 777? En realidad no me gusta la idea de las carpetas en mi sitio web/servicio al público de escritura.

Yo aprecio mucho tus consejos como sé muy poco acerca de los servidores web.

18voto

Sven Puntos 51980
Leave it as public, it'll be fine

I reckon it's an ip conflict somewhere in the domain resolution, 
but I'm not worried about it.

Este tipo es un idiota y esto es una completa tontería. Los derechos de acceso no tienen nada que ver con la IP addresess o la resolución de dominios, él es simplemente colocar palabras.

Dada la calidad de este "administrador", yo recomendaría para alojar su sitio en otros lugares, ya que es muy probable que el sitio es administrado muy mal e insegura. Sólo poner 777 permisos en algo para que funcione es un signo seguro de que él no entiende un poco de lo que él está haciendo.

¿Qué derechos de acceso son realmente necesarias depende de la forma en que el sistema es usado y configurado y es un tipo duro para decirle algo sin saber esto.

1voto

Rilindo Puntos 4225

Vamos a desglosarlo:

Usted necesita el usuario que ejecuta el script para leer, ejecutar y escribir en el directorio, por lo que debe ser:

7 = (r)de la ead,(w)el rito,e(x)ecute

Otros usuarios que pertenecen al mismo grupo debe ser capaz de ejecutar el archivo php en el directorio, pero no escribir en él (por razones obvias); no necesariamente tienen que leer los archivos PHP. Por lo tanto, necesitamos proporcionar sólo permisos de ejecución:

1 = e(x)ecute

Mismo para el público. De hecho, eso es todo lo que necesita para usuarios externos que tienen que ver php y archivos estáticos:

1 = e(x)ecute

Así que el mínimo debe ser:

711

He confirmado la configuración anterior con mi propia configuración, por lo que se debe trabajar; sin embargo, esto es en la web predeterminado de usuario. Si va a cargar con un inicio de sesión distinto www, los archivos y directorios probablemente sería en virtud de un usuario diferente. En ese caso, el valor predeterminado de usuario de la web puede no ser capaz de leer o escribir en los ficheros que son de su propiedad. En ese momento, usted probablemente tendrá que añadir el valor predeterminado de usuario web de su grupo (el administrador tendrá que hacerlo) y, a continuación, dar a leer, escribir y ejecutar permisos a los usuarios que pertenecen al grupo:

771

Y que probablemente iba a trabajar. O eso, o tienen el sysadmin de cambiar el usuario y grupo propietario de los archivos en el servidor web por defecto del usuario (pero NO LOS PERMISOS!). Si esto no funciona, un ejemplo de salida de los permisos (algo así como "ls-la en el directorio") nos ayudaría a solucionar este aún más.Dicho esto, sólo tienes que dar permisos de ejecución al público (o de "otros"), usted debe estar muy bien, desde un punto de vista de seguridad.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: