chmod recursivo com referencia em outros arquivos/diretorios

Agradecimentos ao meu colega jb que me passou o parametro para isto.

Cenário: Alguem aplicou chmod 777 recursivo no /etc de um servidor web, alguns clientes tem conta de ssh limitadas, mas com esse nível de permissão qualquer um poderia ler/modificar configurações do servidor.

A contagem de arquivos no /etc é de aproximadamente 2600 arquivos, o que tornaria aplicar chmod manualmente em cada uma delas.

Por sorte esse servidor seria uma maquina virtual, onde outras provem do mesmo template. Entretanto coo /etc de um para outro não é uma opção, poiso  template de origem foi o mesmo, mas as configs são diferentes em cada um

Neste caso a solução foi simples, copiei o /etc de um servidor para dentro do /root deste com problema, no caso fiquei com /etc/ e /root/etc/. OBS: gzipiei e copiei, pra manter as permissões.

Usei a flag –reference do chmod pra copiar somente as permissões.

Comando executado:

for i in `/usr/bin/find /etc/`; do /bin/chmod --reference=/root$i $i; done

explicando em miúdos:
executei um find no /etc/ para obter todos os arquivos, usando um for para varrer cada linha e executando chmod em arquivo por arquivo do /etc baseado nas permissões existentes em /root/etc/