Sistema quebrado após chmod -R 644 /

1

Eu uso o debian jessie e cometi um desses erros ruins e quebrei meu sistema com um comando incorreto e piores erros que se seguem em tais situações.

Tentando consertar algumas permissões, usei chmod recursivamente na pasta raiz:

# chmod -R 0644 /

e, em seguida, percebendo imediatamente eu corri para fazer algo para pará-lo, mas o sistema estava congelado e o pior erro foi o desligamento do sistema.

Agora acho que tenho algum problema com o gerenciador de usuários e depois de inicializar com algumas mensagens de "falha ao iniciar o serviço" não tenho o login do usuário do Gnome e também não consigo fazer login no console. E isso é o que pisca várias vezes e depois fica na tela:

[ ok ] Created slice user-113.slice
       Starting user manager for UID 113...  
[ ok ] Started user manager for UID 113  
[ ok ] Stopped user manager for UID 113  
[ ok ] Removed slice user-113.slice 
    
por jal_azimi 06.04.2015 / 19:24

2 respostas

1

A boa notícia é que todos os seus dados ainda estão lá. A novidade é que a instalação do seu sistema pode ou não ser recuperável - depende de onde chmod parou.

Você precisará inicializar em um sistema de recuperação para repará-lo. Do sistema de resgate, monte sua instalação quebrada em algum lugar, digamos /mnt . Emita os seguintes comandos:

chmod 755 /mnt
find /mnt -type d -perm 644 >/mnt/bad-permissions
find /mnt -type d -exec chmod 755 {} +

O primeiro comando find salva um registro de diretórios com permissões ruins em um arquivo. O objetivo é ver onde as permissões foram modificadas. O segundo comando find altera todos os diretórios para serem acessíveis publicamente.

Agora você tem um sistema no qual todos os diretórios listados em /mnt/bad-permissions e todos os arquivos nesses diretórios são legíveis por todos. Além disso, os arquivos nesses diretórios não são executáveis. Dependendo de quais arquivos foram afetados, isso pode ser facilmente reparado ou não. Veja Defina erroneamente chmod / 777. Problemas? para o que você pode tentar obter o sistema funcional, ao qual você deve adicionar

chmod a+x /bin/* /sbin/* /usr/bin/* /usr/sbin/* /lib*/ld-*

Mas, mesmo que você consiga alguma coisa funcionar, há um alto risco de que algumas permissões ainda estejam erradas. Por isso, recomendo reinstalar um novo sistema e restaurar seus dados. Como faço para replicar as seleções de pacotes instalados de um sistema Debian para outro? (Debian Wheezy) deve ajudar.

    
por 08.04.2015 / 02:34
3

Você remove a permissão de execução nos arquivos. Além disso, você dá permissão de leitura para o mundo em alguns arquivos. Ambos em combinação não permitem que você faça o login. Meu melhor conselho é fazer o backup de seus arquivos com um CD ao vivo e reinstalar

    
por 06.04.2015 / 19:32