Restaurar permisos correctos de un directorio a partir de uno similar

Un problema que ya me he encontrado alguna vez es el que se cambien, bien los permisos, bien los propietarios de un directorio o conjunto de directorios del sistema, por error. Esto es una forma de solucionarlo a partir de un sistema similar.
# en la máquina con los permisos correctos
cd /var/
sudo find . -printf "%p %u %g\n" > /tmp/var_files.lst
scp /tmp/var_files.lst usuario@máquina_remota:/tmp/
 
# en la máquina en la que se quiere restaurar los permisos correctos
cd /var/
cat /tmp/var_files.lst | while read i ; do a=($i) ; sudo chown -f ${a[1]}:${a[2]} ${a[0]} ; done
Lenguaje: 
bash

Comentarios

rcmorano:

Para restaurar los permisos además del propietario:


# en la máquina con los permisos correctos
cd /var/
sudo find . -printf "%p %u %g %m\n" > /tmp/var_files.lst
scp /tmp/var_files.lst usuario@máquina_remota:/tmp/
 
# en la máquina en la que se quiere restaurar los permisos correctos
cd /var/
cat /tmp/var_files.lst | while read i ; do a=($i) ; sudo chown -f ${a[1]}:${a[2]} ${a[0]} && sudo chmod ${a[3]} ${a[0]} ; done