Estaba ajustando los permisos al configurar algunos temas de WordPress y ejecuté. chmod 664 -R theme-dir/*
Funcionó bien en los archivos en la raíz del directorio, pero todos los archivos en los subdirectorios ahora se leen así cuando ls -l
:
?--------- ? ? ? ? ? core_functions.php
?--------- ? ? ? ? ? css
?--------- ? ? ? ? ? custom_functions.php
?--------- ? ? ? ? ? images
?--------- ? ? ? ? ? import_settings.php
?--------- ? ? ? ? ? js
?--------- ? ? ? ? ? options_trim.php
?--------- ? ? ? ? ? page_templates
?--------- ? ? ? ? ? post_thumbnails_trim.php
?---------+ ? ? ? ? ? shortcodes
No puedo acceder a ninguno de los subdirectorios y tampoco puedo eliminarlos. Nunca había visto algo así, ¿alguien se ha topado alguna vez con algo similar?
Respuesta1
Acceder al contenido (o más específicamente a los metadatos del archivo, excepto el nombre del archivo) de un directorio requiere que el directorio tenga establecido el bit de ejecución.
Su chmod recursivo eliminó ese permiso, por lo que perdió ese acceso. Si está utilizando la -R
opción de, chmod
es mejor evitar usar la versión numérica de los permisos y, en su lugar, ejecutar (usando el estado deseado como ejemplo) chmod -R ug=rwX,o=rX
. La X mayúscula significa establecer el bit X solo en directorios o archivos que tengan al menos un x
conjunto. También es posible que desee utilizar 644 ( u=rwX,go=rX
) a menos que realmente necesite que los usuarios del grupo escriban.
Respuesta2
Desde eldocumentación de wordpress:
Si tiene acceso de shell a su servidor, puede cambiar los permisos de los archivos de forma recursiva utilizando los siguientes comandos:
Para directorios:
find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;
Para archivos:
find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;