Saltar al contenido

Corregir los permisos de archivo para WordPress

Te recomendamos que pruebes esta resolución en un ambiente controlado antes de pasarlo a producción, un saludo.

Solución:

Cuando configura WP, usted (el servidor web) puede necesitar acceso de escritura a los archivos. Por lo tanto, es posible que los derechos de acceso deban estar sueltos.

chown www-data:www-data  -R * # Let Apache be owner
find . -type d -exec chmod 755  ;  # Change directory permissions rwxr-xr-x
find . -type f -exec chmod 644  ;  # Change file permissions rw-r--r--

Después de la configuración, usted deberían reforzar los derechos de acceso, de acuerdo con Hardening WordPress, todos los archivos, excepto wp-content, deben ser escribibles solo por su cuenta de usuario. wp-content debe ser escribible por www-datos también.

chown :  -R * # Let your useraccount be owner
chown www-data:www-data wp-content # Let apache be owner of wp-content

Tal vez desee cambiar los contenidos en wp-content más adelante. En este caso podrías

  • cambiar temporalmente al usuario a www-datos con su,
  • otorga acceso de escritura 775 al grupo wp-content y únete al grupo www-datos o
  • otorgue a su usuario los derechos de acceso a la carpeta mediante ACL.

Hagas lo que hagas, asegúrate de que los archivos tengan permisos rw para www-datos.

Dando acceso completo a todos los archivos wp a www-data user (que en este caso es el usuario del servidor web) puede ser peligroso. Así que mejor hazlo NO hacer esto:

chown www-data:www-data -R *

Sin embargo, puede ser útil en el momento en que esté instalando o actualizando WordPress y sus complementos. Pero cuando haya terminado, ya no es una buena idea mantener los archivos wp propiedad del servidor web.

Básicamente, permite que el servidor web coloque o sobrescriba cualquier archivo en su sitio web. Esto significa que existe la posibilidad de apoderarse de su sitio si alguien logra usar el servidor web (o un agujero de seguridad en algún script .php) para colocar algunos archivos en su sitio web.

Para proteger su sitio contra un ataque de este tipo, debe hacer lo siguiente:

Todos los archivos deben ser propiedad de su cuenta de usuario y usted debe poder escribirlos. El servidor web debe poder escribir en cualquier archivo que necesite acceso de escritura desde WordPress, si la configuración de su alojamiento lo requiere, eso puede significar que esos archivos deben ser propiedad del grupo por la cuenta de usuario utilizada por el proceso del servidor web.

/

El directorio raíz de WordPress: solo su cuenta de usuario debe poder escribir en todos los archivos, excepto .htaccess si desea que WordPress genere automáticamente reglas de reescritura para usted.

/wp-admin/

El área de administración de WordPress: todos los archivos deben ser escribibles solo por su cuenta de usuario.

/wp-includes/

La mayor parte de la lógica de la aplicación de WordPress: todos los archivos deben ser escribibles solo por su cuenta de usuario.

/wp-content/

Contenido proporcionado por el usuario: destinado a ser escribible por su cuenta de usuario y el proceso del servidor web.

Dentro de /wp-content/ usted encontrará:

/wp-content/themes/

Archivos de temas. Si desea utilizar el editor de temas incorporado, el proceso del servidor web debe poder escribir en todos los archivos. Si no desea utilizar el editor de temas incorporado, solo su cuenta de usuario puede escribir en todos los archivos.

/wp-content/plugins/

Archivos de complemento: todos los archivos deben ser escribibles solo por su cuenta de usuario.

Otros directorios que pueden estar presentes con /wp-content/ debe estar documentado por cualquier complemento o tema que los requiera. Los permisos pueden variar.

Fuente e información adicional: http://codex.wordpress.org/Hardening_WordPress

Para aquellos que tienen su carpeta raíz de wordpress en su carpeta de inicio:

**Ubuntu/Apache

  1. Agregue su usuario al grupo www-data:

CRÉDITO Otorgando permisos de escritura a www-data group

Quieres llamar usermod en su usuario. Entonces eso sería:

sudo usermod -aG www-data yourUserName

** Asumiendo www-data el grupo existe

  1. Comprueba que tu usuario está en www-data grupo:

    groups yourUserName

Deberías obtener algo como:

youUserName : youUserGroupName www-data

** youUserGroupName suele ser similar a su nombre de usuario

  1. Cambie recursivamente la propiedad del grupo de la carpeta wp-content manteniendo la propiedad de su usuario

    chown yourUserName:www-data -R youWebSiteFolder/wp-content/*

  2. Cambie el directorio a youWebSiteFolder/wp-content/

    cd youWebSiteFolder/wp-content

  3. Cambie recursivamente los permisos de grupo de las carpetas y subcarpetas para habilitar los permisos de escritura:

    find . -type d -exec chmod -R 775 ;

** el modo de `/home/yourUserName/youWebSiteFolder/wp-content/’ cambió de 0755 (rwxr-xr-x) a 0775 (rwxrwxr-x)

  1. Cambie recursivamente los permisos de grupo de los archivos y subarchivos para habilitar los permisos de escritura:

    find . -type f -exec chmod -R 664 ;

El resultado debería ser algo como:

WAS:
-rw-r--r--  1 yourUserName www-data  7192 Oct  4 00:03 filename.html
CHANGED TO:
-rw-rw-r--  1 yourUserName www-data  7192 Oct  4 00:03 filename.html

Equivalente a:

chmod -R ug+rw nombre de carpeta

Los permisos serán como 664 para archivos o 775 para directorios.

ps si alguien encuentra error 'could not create directory' al actualizar un complemento, haz lo siguiente:
[email protected]:~/domainame.com$ sudo chown username:www-data -R wp-content

cuando estás en la raíz de tu dominio.
Asumiendo: wp-config.php posee
Credenciales FTP en LocalHost
define('FS_METHOD','direct');

Recuerda algo, que tienes la opción de añadir una evaluación .

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *