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 caso chmod 755. Las llaves "{}" indican que se sustituya el nombre del elemento encontrado en ese lugar. Y para finalizar "\;" indican el final del comando exec.

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.

GNU/Linux | Comentarios | Trackback Saltar al inicio de la página

2 comentarios de “Los permisos y la recursividad”

  1. 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)

    pplux el 5 Febrero 2008 sobre las 19:40
    Saltar al inicio de la página
  2. 02

    ¡Que si iPhone tal, que iPhone pascual… deja de darnos envidia! ;)

    Kraptor el 6 Febrero 2008 sobre las 10:53
    Saltar al inicio de la página

Al habla

  •  
  •  
  •  

Puedes estar al tanto de nuevos comentarios con el feed de los comentarios.

Al fin y al cabo todo es cuestión de unos y ceros…




Archivos

Meta