desde el nivel por encima de dir :
chmod -R a+x *dir*
para otorgar a todos los usuarios (a) permiso de ejecución para todos los subdirectorios y archivos (+x) o:
chmod -R a+X *dir*
para dar a todos los usuarios permiso de ejecución para todos los subdirectorios únicamente (+X)
Ya que rompiste un árbol de permisos de directorio con chmod -R
necesitas arreglarlos todos. Ejecute esto desde el directorio anterior dir
:
find dir -type d -exec chmod u=rwx,go=rx {} +
find dir \! -type d -exec chmod u=rw,go=r {} +
En caso de que te lo estés preguntando, necesitas el x
permiso para acceder a un directorio. Necesitas rx
para poder leerlo.
Para aquellos con una versión moderna (GNU) de chmod
usted puede ser capaz de hacer todo esto en un solo paso. Simbólicamente, esto equivale a "todos (grupo/otros) tienen lo mismo que el propietario, pero eliminan los permisos de escritura del grupo/otros"
chmod -R a=u,go-w dir