X-Git-Url: https://git.jsancho.org/?p=blog.git;a=blobdiff_plain;f=posts%2F13.html;fp=posts%2F13.html;h=0000000000000000000000000000000000000000;hp=19373a85019de97ddb9989648a36a726c0089741;hb=e7b6ce04fe8fee9ae651f50b29f6c37fef87b41d;hpb=3e096e3d39e9924369271dade89f029c40c799b5 diff --git a/posts/13.html b/posts/13.html deleted file mode 100644 index 19373a8..0000000 --- a/posts/13.html +++ /dev/null @@ -1,16 +0,0 @@ -title: Cambiar permisos de directorios -date: 2004-01-28 11:18 ---- -
-

Ayer preguntaban en la lista de correo de Hispalinux cómo cambiar de forma recursiva los permisos de unos directorios, pero respetando los permisos que tuvieran los ficheros. Aunque la respuesta era bastante trivial despues pensé que quizás no era tan trivial para otras personas, así que expongo la solución, que por otra parte viene tambien si miramos el man del comando find.

- -

Evidentemente, si ejecutamos chmod -R 0777 ./* nos encontraremos con que nos cambian los permisos de todo lo que cuelga del directorio ./, ya sean ficheros o directorios.

- -

Una forma de solucionarlo es mediante el comando find. Este comando nos permite hacer búsquedas por nombre de fichero, tamaño, fecha, etc, y de forma adicional nos permite realizar operaciones sobre el resultado de la búsqueda. Para el asunto que tratamos bastaría con hacer:

- -

find . -type d -exec chmod 0777 {} \;

- -

Buscamos a partir del directorio ./, le decimos además que los ficheros tienen que ser de tipo d, es decir directorios, y sobre el resultado ejecutamos el comando chmod con las opciones indicadas. Las llaves son un sinónimo de resultado de la búsqueda del find.

- -

Buena herramienta, el find.

-