elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Apache linux y DocumentRoot
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Apache linux y DocumentRoot  (Leído 5,883 veces)
Becerra

Desconectado Desconectado

Mensajes: 97


Siempre aprendiendo


Ver Perfil
Apache linux y DocumentRoot
« en: 7 Noviembre 2021, 23:52 pm »

Hola

Tengo instalado Apache en una distribución Manjaro, por defecto la capeta DocumentRoot apunta a /srv/http, en la cual no tengo permisos de escritura.

Estaba tratando de configurar un VirtualHost hacia una carpeta en mi home, pero al tratar de acceder al contenido, apache me tira un error de acceso denegado. Supongo que algún tema de permisos. Creo haber leído por ahí que la carpeta en la que esté el proyecto y sus carpetas padres tienen que tener permisos 755, también puedo cambiar los permisos de la carpeta /srv/http y así tener acceso y poder escribir en ella.

Ahora bien, ¿que es lo correcto hacer? No quiero cambiar permisos "indiscriminadamente" no vaya a ser que tenga problemas por otro lado. No sé si hay otra solución más adecuada.

Un saludo


En línea

Buenas preguntas obtienen mejores respuestas
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Apache linux y DocumentRoot
« Respuesta #1 en: 8 Noviembre 2021, 05:43 am »

750 es mejor así no expones tu directorio a los demás usuarios. Lo que la gente hace es cambiar el grupo del directorio al grupo que usa tu usuario de apache (www-data por ejemplo). También usan el SETGID al document root, de esa forma todos los archivos que creas acaban siendo parte del grupo de apache (que mientras tengan r-x no deberían tener problemas accediéndolo).

Hay muchas maneras de trabajar los permisos, dependiendo de la situación que estés trabajando.


« Última modificación: 8 Noviembre 2021, 05:47 am por MinusFour » En línea

Becerra

Desconectado Desconectado

Mensajes: 97


Siempre aprendiendo


Ver Perfil
Re: Apache linux y DocumentRoot
« Respuesta #2 en: 8 Noviembre 2021, 21:35 pm »

Hola

Soy muy torpe con la terminal de linux y me pierdo mucho. Si no me equivoco, creo que el problema es que la carpeta de usuario tiene permisos 700, por lo tanto, nadie puede acceder.

Creo que lo que voy a hacer es cambiar los permisos a /srv/http para que yo pueda acceder, así no toco
mi carpeta de usuario que me da más miedo.

EDITO: al final lo hice de otra forma, creé un nuevo usuario, añadí mi usuario y apache a su grupo, modifiqué los permisos de las carpetas de ese usuario y ahora sí, ya puedo acceder. No sé si será la forma correcta, pero de momento me vale, así no toco los permisos de mi home ni de la carpeta /srv/http.

No puedo creer que me haya costado tanto esto  :-(

Un saludo
« Última modificación: 9 Noviembre 2021, 00:21 am por Becerra » En línea

Buenas preguntas obtienen mejores respuestas
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Apache linux y DocumentRoot
« Respuesta #3 en: 9 Noviembre 2021, 03:51 am »

EDITO: al final lo hice de otra forma, creé un nuevo usuario, añadí mi usuario y apache a su grupo, modifiqué los permisos de las carpetas de ese usuario y ahora sí, ya puedo acceder. No sé si será la forma correcta, pero de momento me vale, así no toco los permisos de mi home ni de la carpeta /srv/http.

No puedo creer que me haya costado tanto esto  :-(

Un saludo

Eh, personalmente yo no lo haría. Yo no quisiera que un servidor tuviera acceso a todo mi home. En primer lugar porque no lo necesita. En segundo lugar porque no debe poder leer mis otros archivos (por ejemplo, mis llaves ssh).

Encima, mi home es 700, así que ni siquiera el grupo del directorio tiene acceso a mi home.
En línea

Becerra

Desconectado Desconectado

Mensajes: 97


Siempre aprendiendo


Ver Perfil
Re: Apache linux y DocumentRoot
« Respuesta #4 en: 9 Noviembre 2021, 21:17 pm »

Hola

Esto es más complicado de lo que debería ser :-\ Vale que para un proyecto terminado y en funcionamiento haya un mínimo de seguridad, pero para entornos de desarrollo, como es mi caso, es un engorro todo esto.

Eh, personalmente yo no lo haría. Yo no quisiera que un servidor tuviera acceso a todo mi home. En primer lugar porque no lo necesita.

Realmente no es mi home, es el home de un usuario nuevo que creé y tan solo contiene una carpeta en la que alojar los archivos .php

El DocumentRoot del servidor lo apunté a /home/nuevo_usuario/proyecto, pero yo lo hago todo desde mi usuario normal.

En segundo lugar porque no debe poder leer mis otros archivos (por ejemplo, mis llaves ssh).

Pues eso no lo pensé (ni comprobé, de momento solo tuve tiempo para llamar a phpinfo() ::)), la verdad que el proyecto accederá a una base de datos (PostgreSQL) no sé si habrá algún problema, tengo que comprobarlo.

Menudo lío.... me veo siguiendo con el proyecto en el otro ordenador que tengo con windows....

Un saludo
En línea

Buenas preguntas obtienen mejores respuestas
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Apache linux y DocumentRoot
« Respuesta #5 en: 9 Noviembre 2021, 22:57 pm »

Realmente en muchos hostings compartidos eso es lo que se hacia. Cada usuario tiene su directorio home y ahí iba todo el código de cada quien. Apache se configura para correr los archivos bajo diferentes usuarios (de forma que un usuario A no tenga acceso a los archivos del usuario B).

Si tienes un entorno de producción y solo usas tu carpeta home para mantener los archivos del servidor pues no pasa nada. Pero en desarrollo o testing, donde probablemente estés usando un usuario que tenga otros archivos (documentos, fotos, llaves, etc) pues yo no le daría permiso a un servidor web para que pudiera ver todo esto. Simplemente no es necesario. Igual le puedes poner 777 a todo tu home y quizás no pase nada pero nuevamente, no es necesario.
En línea

Becerra

Desconectado Desconectado

Mensajes: 97


Siempre aprendiendo


Ver Perfil
Re: Apache linux y DocumentRoot
« Respuesta #6 en: 10 Noviembre 2021, 12:02 pm »

Hola

... en desarrollo o testing, donde probablemente estés usando un usuario que tenga otros archivos (documentos, fotos, llaves, etc) pues yo no le daría permiso a un servidor web para que pudiera ver todo esto....

Entonces, ¿cómo harías? Teniendo en cuenta que es una instalación solo para desarrollo, cuando esté terminado irá a un servidor en una pequeña red local.

Un saludo
En línea

Buenas preguntas obtienen mejores respuestas
MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Apache linux y DocumentRoot
« Respuesta #7 en: 10 Noviembre 2021, 14:04 pm »

Yo usaría ese directorio de /srv/http.

Añadiría un nuevo subdirectorio para el sitio (e.g. desarrollo/localhost/dev, etc) y cambiaría el dueño del directorio por mi usuario.

Código
  1. cd /srv/http
  2. sudo mkdir dev
  3. sudo chown tuusuario dev
  4. chgrp grupoDeApache dev # e.g. www-data
  5. chmod 750 dev
  6. chmod g+s dev

Y listo, el servidor ahora puede leer los archivos que tu creas sin ningún problema y tu directorio home está a salvo (tienes que quitar al usuario de apache del grupo de tu usuario).
En línea

Becerra

Desconectado Desconectado

Mensajes: 97


Siempre aprendiendo


Ver Perfil
Re: Apache linux y DocumentRoot
« Respuesta #8 en: 11 Noviembre 2021, 23:46 pm »

Hola

Pues me ha gustado más esta forma, muchas gracias.

Un saludo
En línea

Buenas preguntas obtienen mejores respuestas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines