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 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 cd a ninguno de los subdirectorios, y tampoco puedo eliminarlos. Nunca he visto algo así, ¿alguien se ha encontrado con algo similar?
linux
permissions
chmod
Sal
fuente
fuente
chmod -R u+rwX,go+rX,go-w theme-dir/*
Respuestas:
Para acceder al contenido (o más específicamente a los metadatos de archivo, excepto el nombre de archivo) de un directorio, se requiere que el directorio tenga el bit de ejecución establecido.
Su chmod recursivo eliminó ese permiso, por lo que perdió ese acceso. Si está usando la
-R
opción dechmod
es mejor evitar usar la versión numérica de los permisos, y en su lugar ejecutar (usando su 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 tienen al menos unx
conjunto. También es posible que desee usar 644 (u=rwX,go=rX
) a menos que realmente necesite usuarios de grupo para escribir.fuente
De la documentación de Wordpress :
Si tiene acceso de shell a su servidor, puede cambiar los permisos de archivos de forma recursiva mediante los siguientes comandos:
Para directorios:
Para archivos:
fuente