- no rootear
- no rootear
- SuEXEC
- Depende. 644 para archivos y 755 para carpetas son valores predeterminados seguros.
No cambie la propiedad de nada a www-data a menos que desee que php pueda editar el contenido de ese archivo/carpeta
Independientemente de cualquier otra cosa que haga:las carpetas necesitan permisos de lectura y ejecución para que el usuario encuentre archivos; los archivos necesitan permisos de lectura para que el usuario los lea. Si obtiene algún error de permisos al cambiar las cosas, ha logrado eliminar estos permisos fundamentalmente necesarios.
Si no está escribiendo ningún archivo a través de su aplicación php, puede dejar archivos de su propiedad:usted. En esta circunstancia el permiso mundial (xx4/5) es el que se aplica.
Si deja los archivos como de su propiedad:usted con permisos de archivo de 644 (archivos), lo que eso significaría es que solo puede editar los archivos del sitio web (www-data no es usted), por lo que no puede editar los archivos.
Si desea restringir el acceso a apache + usted y bloquear todos los demás accesos chown -R you:www-data *
. Con permisos de archivo de 640 y permisos de carpeta de 750, puede editar, www-data puede leer, porque apache lee el permiso de grupo (x4/5x).
Restrinja al mínimo las rutas en las que permite que apache/php escriba; si hay un directorio tmp en el que la aplicación debe escribir, permita que escriba en solo esa carpeta - y para cualquier ubicación en la que se pueda escribir, si es posible, asegúrese de que sea afuera la raíz del documento o tome medidas para asegurarse de que esta ruta de escritura no sea accesible a través de la web.
Tenga en cuenta que "usted" debe no ser root. Permitir el acceso ssh directo como root es un indicador de otros fallos de seguridad (como no no permitir el inicio de sesión con contraseña), pero eso es un montón de preguntas en sí mismo.
Entonces, si entiendo las cosas correctamente, si apache se ejecuta como www-data y quiero que apache pueda leer un directorio, el bit x debe configurarse para el grupo mundial (otro) (o + x), y eso también debe acosado en todos los directorios principales hasta el final de la cadena (www, var). Y si quiero que apache pueda leer desde un archivo, entonces se debe configurar el bit o+r.
Esto no es cierto, no tienes que configurar rwx
por otro'. Debe cambiar el propietario y/o el grupo de la carpeta/archivo en particular que está tratando de proteger. Por ejemplo:
chown -R cwd:www-data /var/www/cwd.com
chmod 750 /var/www/cwd.com
Ahora solo miembros del grupo www-data
puede leer /var/www/cwd.com
. Y solo usted (cwd) puede escribir en él. Si desea permitir que sus aplicaciones (a través de Apache) escriban/modifiquen archivos en ese directorio también, cámbielo a 770.
Creo que esto cubre todos sus problemas, no veo ninguna razón para cambiar el usuario con el que se ejecuta Apache.