OVH Community, your new community space.

Problema de permisos


jrcarranza
05/01/2010, 17:38
Cita Publicado inicialmente por rockeye
Ese joomla esta dentro de /var/www/vhosts/dominio.com/httpdocs ?

Habrá dentro de joomla algun .htaccess que anule la directiva "SuexecUserGroup dominio psacln" ?

Saludos.
Hola!
En el caso de la ruta, en efecto se encuentra en /var/www/vhosts/dominio.com/httpdocs

y en el caso del .htaccess solamente está el de joomla pero este no posee ninguna directiva de "SuexecUserGroup"

Por cierto, le quiero agradecer por la información, ya con eso me da una luz porque ni tan siquiera sabia que podía estar sucediendo.
Gracias.

rockeye
10/12/2009, 20:49
Cita Publicado inicialmente por jrcarranza
Hola gente!
yo tengo un problema parecido.
Tengo plesk y un conflicto entre plesk, apache joomla
Sucede que la carpeta
/var/www/vhost/dominio/httpdocs posee los permisos
dominio.psaserv
Si subo archivos por FTP tambien le setea los mismos permisos
usuario dominio y grupo psaserv
Joomla necesita los permisos de la manera carpetas 755 y archivos 644
y estan de esa manera seteados
y cuando trato de instalar algun componente en joomla me da error o tambien al cargar algunos componentes y si seteo los permisos www-data.www-data joomla funciona perfectamente.

Ahora bien, si seteo los permisos www-data.www-data el FTP me deja de funcionar, me da error de access denied.

Revisando el archivo de configuración de apache de ese dominio encontré esto:
UseCanonicalName Off
SuexecUserGroup dominio psacln
ServerAdmin [email]
DocumentRoot /var/www/vhosts/dominio.com/httpdocs

Veo que esta el user y el grupo pero realmente parecen no estar corriendo con esos persmisos porque dan error.
Alguien tiene alguna idea de que puedo hacer?
Gracias.
Ese joomla esta dentro de /var/www/vhosts/dominio.com/httpdocs ?

Habrá dentro de joomla algun .htaccess que anule la directiva "SuexecUserGroup dominio psacln" ?

Saludos.

rockeye
10/12/2009, 20:18
Cita Publicado inicialmente por neojordan
Creo que ya he visto el problema que viene a ser lo que habeis comentado.

He entrado por ssh con un gestor visual de esos que te muestra las carpetas con bastante informacion y no tienes que ir con tanto comando como el putty.

en la carpeta /var/www/vhost/midominio.com salen un monton de carpetas:

anon_ftp miusuario
bin root
cgi-bin miusuario
conf root
...
httpdocs miusuario
mivadata apache
...

al parecer la carpeta donde esta la web (httpdocs) tiene como usuario mi nombre de usuario mientras que hay otras que usan apache.

Mi pregunta es ¿qué hago? He probado a intentar cambiar el nombre de apache y el servicio de apache ha dejado de funcionar.

He cambiado en un archivo de configuración donde ponía mi usuario por "apache" pero ahi sigue poniendo que el propietario es "mi usuario" y no "apache".

¿Cómo le digo que el propietario de esa carpeta es "apache"?

Y muchas gracias por la ayuda. En pocos días estoy aprendiendo mucho sobre este tema.
Otra alternativa sin cambiar el owner sería jugar con los permisos de grupo. Por ejemplo:

- Si tu usuario se llama myuser y tu grupo mygroup
- Si el usuario de apache se llama apache

Tienes que darle permisos de grupo a todo ese directorio:

chmod -R g+r /ruta/httpdocs
ó
chmod -R g+rw /ruta/httpdocs

Si tiene que atravesar directorios hay que darle permisos de ejecucion (+x) al directorio. Si no importa demasiado pones +rwx.

Y añadir el usuario apache en tu grupo:

usermod -a -G mygroup apache

Saludos.

rockeye
10/12/2009, 19:58
Cita Publicado inicialmente por Power
Je je je.

Yo también andaba dormido y había puesto ":" entre usuario y grupo en lugar de "."
Y se me había olvidado poner "-R"

Ya lo he corregido.
(Gracias MarcosBL).

(Es que a estas horas la neurona no responde como es debido )

Saludos
Se puede poner tanto ":" ó "." entre user y group, no sé si hay alguna diferencia, pero funciona tambien

jrcarranza
10/12/2009, 19:40
Hola gente!
yo tengo un problema parecido.
Tengo plesk y un conflicto entre plesk, apache joomla
Sucede que la carpeta
/var/www/vhost/dominio/httpdocs posee los permisos
dominio.psaserv
Si subo archivos por FTP tambien le setea los mismos permisos
usuario dominio y grupo psaserv
Joomla necesita los permisos de la manera carpetas 755 y archivos 644
y estan de esa manera seteados
y cuando trato de instalar algun componente en joomla me da error o tambien al cargar algunos componentes y si seteo los permisos www-data.www-data joomla funciona perfectamente.

Ahora bien, si seteo los permisos www-data.www-data el FTP me deja de funcionar, me da error de access denied.

Revisando el archivo de configuración de apache de ese dominio encontré esto:
UseCanonicalName Off
SuexecUserGroup dominio psacln
ServerAdmin [email]
DocumentRoot /var/www/vhosts/dominio.com/httpdocs

Veo que esta el user y el grupo pero realmente parecen no estar corriendo con esos persmisos porque dan error.
Alguien tiene alguna idea de que puedo hacer?
Gracias.

neojordan
25/06/2008, 18:14
Gracias a todos por responder. Probaré a ver si así funciona.

MarcosBL
25/06/2008, 01:25
Estamos fatal de lo nuestro xD

Power
25/06/2008, 00:57
Je je je.

Yo también andaba dormido y había puesto ":" entre usuario y grupo en lugar de "."
Y se me había olvidado poner "-R"

Ya lo he corregido.
(Gracias MarcosBL).

(Es que a estas horas la neurona no responde como es debido )

Saludos

MarcosBL
25/06/2008, 00:47
Lapsus mio ! Tiene razón Power, ando dormido... disculpas, he editado para actualizar.

Eso si, para recursividad:

chown -R usuario.grupo directorio

Power
24/06/2008, 23:45
No te recomiendo que cambies el user de la configuración de Apache.
Más bien al contrario, cambia, en todo caso, los usuarios de los directorios.

En mi servidor (que tengo la distribución Linux Fedora 6), el user de Apache es nobody.

Y el directorio public_html (donde está la web) tiene usuario pepito y grupo nobody.
El resto de directorios y ficheros dentro de public_html tienen usuario pepito y grupo pepito
Todos los directorios tienen permisos 755 y los ficheros 644.

La sintaxis de chown creo que es:
chown usuario.grupo ficheroodirectorio
Y si quieres cambiar también recursivamente (a todos los ficheros y directorios dentro de un directorio):
chown -R usuario.grupo directorio

Saludos

MarcosBL
24/06/2008, 21:48
No sé si es la solución, pero la respuesta a tu última pregunta:

chown apache.apache carpeta
Que vendria siendo en "suajili" : CHangeOWNer usuario.grupo carpeta

neojordan
24/06/2008, 21:27
Creo que ya he visto el problema que viene a ser lo que habeis comentado.

He entrado por ssh con un gestor visual de esos que te muestra las carpetas con bastante informacion y no tienes que ir con tanto comando como el putty.

en la carpeta /var/www/vhost/midominio.com salen un monton de carpetas:

anon_ftp miusuario
bin root
cgi-bin miusuario
conf root
...
httpdocs miusuario
mivadata apache
...

al parecer la carpeta donde esta la web (httpdocs) tiene como usuario mi nombre de usuario mientras que hay otras que usan apache.

Mi pregunta es ¿qué hago? He probado a intentar cambiar el nombre de apache y el servicio de apache ha dejado de funcionar.

He cambiado en un archivo de configuración donde ponía mi usuario por "apache" pero ahi sigue poniendo que el propietario es "mi usuario" y no "apache".

¿Cómo le digo que el propietario de esa carpeta es "apache"?

Y muchas gracias por la ayuda. En pocos días estoy aprendiendo mucho sobre este tema.

neojordan
24/06/2008, 20:54
Cita Publicado inicialmente por MarcosBL
Dale un ojo a la doc de Plesk, no funciona asi, cada vhost tiene un httpd.conf (o vhost.conf, no lo recuerdo bien) donde puedes escribir directivas y que no se sobreescribe cuando actualizas Plesk, como pasa con el /etc/httpd/conf/httpd.conf
Pues miraré eso porque el httpd.conf ha sido un desastre total. He ido mirando y había un sitio donde ponia user: apache y group: apache. Los he cambiado por mi nombre de usuario y al reiniciar el servidor el proceso de apache no iniciaba...

MarcosBL
24/06/2008, 20:24
Dale un ojo a la doc de Plesk, no funciona asi, cada vhost tiene un httpd.conf (o vhost.conf, no lo recuerdo bien) donde puedes escribir directivas y que no se sobreescribe cuando actualizas Plesk, como pasa con el /etc/httpd/conf/httpd.conf

neojordan
24/06/2008, 20:20
Cita Publicado inicialmente por MarcosBL
El fichero en Plesk es /etc/httpd/conf/httpd.conf

Ojito que cada vez que actualices Plesk, es probable que te sobreescriba cosas, guarda siempre una copia de ese fichero con tus modificaciones o usa uno de los conf "a medida" que Plesk permite en cada vhost.
Que preguntón que soy. Eso de los conf a medida me interesa. ¿Está dentro del panel de administración de plesk? ¿Con licencia para un solo dominio estará activado?

MarcosBL
24/06/2008, 19:05
El fichero en Plesk es /etc/httpd/conf/httpd.conf

Ojito que cada vez que actualices Plesk, es probable que te sobreescriba cosas, guarda siempre una copia de ese fichero con tus modificaciones o usa uno de los conf "a medida" que Plesk permite en cada vhost.

Power
24/06/2008, 18:56
Cita Publicado inicialmente por neojordan
He mirado pero en plesk no se guarda ahi. Seguiré buscando a ver si encuentro la carpeta de apache. Muchas gracias por tu ayuda.
Mira por /etc/httpd ó /etc/apache

(Nunca he usado Plesk y, por lo que leo sobre Plesk en este foro, creo que no me cambiaré nunca de cPanel)

Saludos

Power
24/06/2008, 18:55
Se me olvidaba:

Muchos CMS, como Joomla, necesitan durante su instalación cambiar los permisos del fichero de configuración a 777 para que Apache los pueda escribir.
Después se deben poner de nuevo a permisos normales.

Aunque no uso Joomla, lógicamente, si Apache debe escribir en algún directorio (imágenes, avatares o lo que deban subir los usuarios) ese directorio debe tener permiso para que el usuario con el que se ejecuta Apache pueda hacerlo.
Se puede hacer que en ese directorio sólo se puedan meter ficheros con determinadas extensiones (.jpg, .gif, .png, .bmp, .txt ...) mediante .htaccess y así no hay peligro.

Saludos

neojordan
24/06/2008, 18:52
He mirado pero en plesk no se guarda ahi. Seguiré buscando a ver si encuentro la carpeta de apache. Muchas gracias por tu ayuda.

Power
24/06/2008, 18:47
Como te comentaba en el otro hilo, deberías comprobar el usuario con el que se ejecuta el servidor Apache.
Lo tienes en el fichero de configuración de Apache (en algunas distribuciones es /usr/local/apache/conf/httpd.conf)

Buscas una línea como: user nobody
En ese caso nobody es el usuario con el que se ejecuta Apache.

Luego comprueba los usuarios propietarios de los directorios donde quieres que Apache escriba.

Saludos

neojordan
24/06/2008, 13:59
Y eso como se soluciona?

Además en el panel de control de joomla te indica archivos de configuración que deben ser editables y también carpetas.

Por defecto joomla le da los permisos necesarios para que sean editables pero tengo el mismo problema, me pone que no es editable hasta que le cambio manualmente los permisos a 777.

Reox
24/06/2008, 13:57
Probablemente en la instalación del componente el usuario de las carpetas cambia del usuario en uso al usuario de apache, suele ser el problemas mas típico.

neojordan
24/06/2008, 13:23
Ya he comentado un poco el tema aqui: http://foros.ovh.es/showpost.php?p=8959&postcount=8

Yo tengo una web en joomla montada en un servidor dedicado. CentOS + Plesk 8.4

La web de joomla funciona con permisos 755, es decir, solo el "propietario" puede escribir. Los demás tienen permisos de lectura y ejecución.

La tenía en un servidor compartido y funcionaba genial. Incluso para pruebas la monté en mi PC usando le wamp y lo mismo, funcionaba bien.

Pero aquí no. Soy nuevo usando dedicados y seguro que es fallo mio, pero no se que tengo que cambiar. La web no puede editar sus propias carpetas. Es decir, yo instalo un componente pero la web no puede copiar los archivos en la carpeta que corresponde, porque la ha creado con permisos 755 y necesita 777 para poder hacerlo.

¿Qué tengo que hacer para que sea como antes y pueda funcionar con permisos 755?