Los permisos y la recursividad
5 Febrero 2008
Hoy estaba intentando cambiar los permisos de algunos ficheros, me he equivocado y tanto los ficheros como los directorios se han visto afectados por mi malévolo comando:
chmod 0644 * -R
Con esto he quitado el permiso de ejecución a los ficheros (que es lo que quería), pero también a los directorios, con lo que no se podía acceder a su contenido. La solución ha pasado por usar el comando find:
find . -type d -exec chmod 755 {} \;
Con find podemos restringir fácilmente los elementos que se van a encontrar. Paso a explicar las opciones:
"."es el directorio donde vamos a buscar.
"-type d"indica que solo queremos directorios. Si utilizamos"-type f"podemos buscar solo los ficheros.
"-exec chmod 755 {} \;"indica el comando que se va a ejecutar con cada elemento encontrado, en este casochmod 755. Las llaves"{}"indican que se sustituya el nombre del elemento encontrado en ese lugar. Y para finalizar"\;"indican el final del comandoexec.
Fijáos que find ya se encarga de realizar la búsqueda de forma recursiva, por lo que no tenemos que utilizar ninguna opción para chmod.


2 comentarios de “Los permisos y la recursividad”
01
Bendito find que todo lo encuentra. Como fastidia lo del “\;” hasta que ves algun ejemplo en la pagina del man.
Me gustan estos posts-receta
saludos dese el dsic (por ponerte un comentario casi nos quedamos a oscuras yo y el iphone)
02
¡Que si iPhone tal, que iPhone pascual… deja de darnos envidia!
Al habla