2010-11-30 12 views
5

En el alojamiento compartido DreamHost, estoy configurando htpasswd, pero Apache no tiene permiso para leer el archivo. ¿Cómo le doy permiso? Deseo cambiar el propietario o grupo del archivo .htpasswd en lugar de otorgarle permisos inseguros. No creo tener acceso al archivo httpd.conf, por lo que no puedo usar este método para find what user Apache runs as. Además, ejecutar top o ps aux solo muestra los procesos que estoy ejecutando pero no muestra el proceso de apache.¿Cómo averiguo con qué usuario y grupo se está ejecutando Apache?

Basado en la salida de cat /etc/passwd y , supongo que es www-data.

Bueno, seguí las instrucciones para Password-protecting directories on Dreamhost. Se generó un directorio con un archivo .htpasswd con el grupo dhapache y permisos 440. También puso un archivo .htaccess allí con debajo de mi grupo. Por alguna razón, cuando intento chgrp dhapache test_file.txt obtengo chgrp: changing group of 'test_file.txt': Operation not permitted. Por lo tanto, acabo de mover el archivo .htpasswd que DreamHost generó a donde yo quería y edité el archivo .htaccess que generó, a pesar de sus advertencias.

+0

sí, por lo general se trata de "www-data: www-data" –

Respuesta

10

En realidad, no es necesario el acceso a httpd.conf:

ps aux | grep apache2 
groups apache_user 

debe producir lo que quieres

+4

O mejor 'ps axo usuario, grupo de comunicación | grep apache' –

+0

Gracias. Eso no funciona en DreamHost, pero lo descubrí. Ver el último párrafo de la pregunta. – ma11hew28

+0

Es un poco extraño que 'ps aux' no funcione para usted (ya que Dreamhost mismo declara que debería http://wiki.dreamhost.com/PS_Optimization); sin embargo, contento de haberlo hecho de una forma u otra. –

4

Tenía un poco de tema que me lleva a otra solución. Pero sólo funciona cuando se tiene acceso al archivo de configuración

En realidad podemos comprobar el usuario y el grupo de \etc\apache2\envars archivo. Aquí es donde Apache establece los entornos var y los utiliza en la aplicación.

buscar esta dos líneas:

export APACHE_RUN_USER=www-data 
export APACHE_RUN_GROUP=www-data 

Nota esto se estaba poniendo las variables de entorno. fijando el real de la Apache para funcionar como lo que el usuario/grupo es en realidad en el \etc\apache2\apache2.conf

User ${APACHE_RUN_USER} 
Group ${APACHE_RUN_GROUP} 

la ubicación de los archivos puede ser que me diferente, pero que debería hacerse una idea.

Cuestiones relacionadas