Uma maneira é instalar outra máquina ou VM com a mesma versão do SO e, nessa máquina, executar esses dois comandos:
find / -exec stat --format "chmod %a %n" {} \; > /tmp/restoreperms.sh
find / -exec stat --format 'chown %U:%G %n' {} \; >> /tmp/restoreperms.sh
o comando 'find' encontra o diretório raiz e verifica suas permissões usando 'chmod' e salva-o em um arquivo de permissão temporário.
Ou este que combina os dois:
/usr/bin/find / -exec /usr/bin/stat --format="[ ! -L {} ] && /bin/chmod %a %n" {} \; -exec /usr/bin/stat --format="/bin/chown -h %U:%G %n" {} \; > /tmp/restoreperms.sh
depois, copie o arquivo /tmp/restoreperms.sh
para a máquina com permissões quebradas:
scp /tmp/restoreperms.sh user@ip_address:/tmp/
scp copia com segurança as permissões armazenadas em um diretório temporário / tmp / e executá-lo de lá.