Temos um pequeno desastre em um sistema Centos7. Um bug em um script de configuração define recursivamente /, /bin e /usr/bin para 400 permissões. Isso significa que comandos básicos como chmod, mount e quase todo o resto não podem ser executados. Estou bastante confiante de que posso consertar isso inicializando a partir de um live-usb, mas teria que fazer um. Além disso, a máquina danificada é o nosso roteador, então, quando ela cai, perdemos nosso acesso à Internet.
Eu tenho outra caixa com binários linux x64 para chmod, bash, mount e o resto, existe alguma maneira inteligente de executá-los a partir de um usb (ou da rede ou qualquer outra coisa) sem reiniciar?
No centos7 de 64 bits, o programa ld está localizado em /lib64/ld-2.17.so. Eu não o teria encontrado a menos que tivesse outro sistema centos7 em execução. Eu usei o binário ld-2.17.so para executar /bin/chmod e fixei /bin, /usr/bin e /bin/chmod. Isso foi o suficiente para me permitir começar a corrigir todo o resto. No outro sistema centos, executei:
Isso me deu referências sobre quais são as permissões corretas para minha distribuição. Copiei esses arquivos txt para o sistema danificado e para bin,boot,dev,etc e home, executei
Esta não foi uma correspondência exata nos arquivos, mas é muito melhor do que fazer todos os arquivos de uma vez ou cada arquivo individualmente.