2008-10-06 10 views
6

¿Cuál es la mejor práctica para configurar un servidor LAMP en términos de usuarios y grupos de linux? Si hay varios sitios alojados en el mismo servidor, es mejor tener un solo usuario que posea todos los archivos fuente del sitio (y cargas) que estén en el mismo grupo que apache, o tener un usuario diferente para cada sitio (para que cada sitio tiene su propio crontab)? ¿O algo completamente diferente?Usuarios y grupos de Linux para un servidor LAMP

Por alguna razón, esta pregunta nunca parece abordarse en los libros PHP/MySQL/Linux que he encontrado.

Respuesta

1

En nuestra plataforma, cada sitio htdocs, etc. tiene su propio usuario. Esto significa que si un sitio está comprometido, los demás deberían estar bien.

1

Si se trata de un número pequeño de sitios grandes, es posible que dividir el servidor en varias máquinas virtuales utilizando algo así como Xen sea una mejor opción que simplemente segregar por usuario. Esto mejorará el aislamiento de sus sitios y facilitará el traslado de un sitio a su propio hardware si, en el futuro, uno empieza a ser mucho más pesado en el uso de recursos que los demás.

0

Supongo que no quiere volverse loco y obtener WHM para cPanel y puede que quiera hacerlo de manera inexperta.

Creo que es una buena práctica que cada usuario acceda a su espacio desde su propio nombre de usuario y grupo, especialmente si los usuarios no relacionados pueden estar usando el servidor web.

Si tiene más de 10 dominios y usuarios y desea mantener las cuentas segregadas en su propio espacio, consideraría usar Webmin con VirtualMin instalado en el servidor. Esto maneja fácilmente este tipo de problemas, dentro de una instalación agradable y gratuita. De lo contrario, tendrá que comprar un producto comercial o manejar todo manualmente, un verdadero dolor, pero se puede hacer (no se recomienda para una empresa comercial).

Además, Xen y VMS pueden ser excesivos, pero tampoco tan fáciles de administrar como Webmin/VirtualMin para cuentas de 10-100 +.

0

La mejor opción es crear VirtualHost para cada dominio usando Apache con el módulo suPHP. De esta forma, cada sitio será propiedad de un usuario y se ejecutará con el permiso de ese usuario. Webroot de cada sitio debe ponerse bajo el directorio del usuario para evitar un ataque local.

Si utiliza el mismo usuario para cada sitio web, eso significa que el usuario del sitio web A puede acceder a la lectura/escritura de archivos del sitio webB.

0

Realicé algún tipo de hosting de pequeño nivel durante varios años y mi respuesta es "Depende".

En primer lugar, existe una diferencia entre el módulo de Apache (mod_php). CGI y FastCGI. Una buena lista con todos los pros y los contras podría ser encontrado aquí: Apache php modes

Cuando se trata de la seguridad de todos los modos tienen pros y contras.

Dado que solo alojamos una cantidad relativamente pequeña de Dominios con tráfico moderado, decidí quedarme con mod_php y utilizar la configuración de vhost.

También utilicé diferentes usuarios de FTP para cada directorio raíz de vhost (por supuesto).

vhosts Configuración (uno por cliente) le permite apagar los dominios de la manera fácil sin cavar su camino a través de un ridículamente grande httpd.conf y producir errores en el camino.

Cuestiones relacionadas