miércoles, 2 de septiembre de 2009

Cambio de permisos al mover archivos pasando por una partición FAT

Pongámonos en situación: vas a hacer una copia de seguridad de los archivos que te interesan en un disco duro externo. Lo más habitual es que el disco duro externo utilice el sistema de archivos FAT32, por aquello de la compatibilidad con distintos sistemas operativos. Te lo has currado y ahora tienes los archivos interesantes en un único directorio. Haces una copia en tu disco:
cp -R . /media/disk
Después de hacer la copia, reinstalas Linux, o se estropea el disco duro, o simplemente quieres comprobar que la copia se ha hecho correctamente. Al hacer la copia en sentido contrario:
cp -R /media/disk/* .
Todo va bien. ¿Todo? Uy, parece que ahora todos los archivos son ejecutables. Algo ha pasado con los permisos al pasar por el disco FAT32. No hay problema, se arregla rápido:
chmod -R a-x *
Ya está arreglado. ¿Seguro? Hombre, algunos de los archivos que tenía son ejecutables, pero son pocos y prefiero cambiar a mano 8 archivos que no los 4 mil y pico que tenía en total. Cambio de directorio y... ¿como?¿permiso denegado? Claro, el permiso de ejecución en los directorios ¿indica si se puede cambiar al directorio o no. El problema ahora es que tengo 200 directorios. ¿Tengo que cambiarlos uno por uno? Noooo.
ls -d */ | xargs chmod a+x
La solución "buena": comprimir archivos y directorios antes de pasarlos al disco FAT32. Al descompimir se mantendrán los permisos originales.

No hay comentarios: