Initial commit
[blog.git] / posts / 13.html
1 title: Cambiar permisos de directorios
2 date: 2004-01-28 11:18
3 ---
4 <div>
5 <p>Ayer preguntaban en la lista de correo de <a href="http://www.hispalinux.org/">Hispalinux</a> 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 <i>man</i> del comando <i>find</i>.</p>
6
7 <p>Evidentemente, si ejecutamos <b>chmod -R 0777 ./*</b> nos encontraremos con que nos cambian los permisos de todo lo que cuelga del directorio ./, ya sean ficheros o directorios.</p>
8
9 <p>Una forma de solucionarlo es mediante el comando <b>find</b>. 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:</p>
10
11 <p><pre>find . -type d -exec chmod 0777 {} \;</pre></p>
12
13 <p>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 <b>chmod</b> con las opciones indicadas. Las llaves son un sinónimo de resultado de la búsqueda del <b>find</b>.</p>
14
15 <p>Buena herramienta, el <b>find</b>.</p>
16 </div>