Acidentalmente fez “chmod -777 /”

4

Eu acidentalmente fiz chmod -777 / agora não consigo acessar nada, quando eu reiniciar uma caixa de diálogo mostrada como "seus gráficos estão definidos para baixo", depois de dar ok, então há uma opção "sair para a tela de login" quando eu Selecione isso Eu recebo uma tela em branco com "-" na parte superior.

Existe alguma maneira de reverter este processo ou pelo menos recuperar os dados?

P.S: Estou usando o Windows Vista e o Ubuntu 13.04 (inicialização dupla).

    
por YasirAzzu 24.05.2014 / 19:42

3 respostas

1

Obrigado pelas suas respostas.

Eu recentemente instalei o Ubuntu 14.04, no entanto consegui fazer backup dos meus dados usando o live CD.

Eu inicializei a partir de um live CD e fiz o chmod 777 / 'pathOfTheDirectory'

Não mexa com coisas em que você não tem muito conhecimento - lições aprendidas.

    
por YasirAzzu 31.05.2014 / 09:24
3

Observe que chmod -777 é como chmod 000 . Então o OP provavelmente mudou as permissões da pasta / , não recursivamente, e ele ou ela pode recuperar o sistema simplesmente com um

chmod 755 /

de uma inicialização de recuperação. Por exemplo, inicialize a partir da mídia de instalação, escolha o Ubuntu, abra um terminal e vá para o superusuário ( faça a verificação a seguir três vezes e só depois de ter entendido o que está fazendo )

sudo -i
mount /dev/yourrootpartitonhere /mnt
cd /mnt
chmod 755 .
cd ..
umount /mnt

E reinicie normalmente, tudo deve estar OK.

Se você usou -R, faça um backup de seus dados (veja outras respostas aqui) e reinstale.

    
por Rmano 25.05.2014 / 07:12
1

Se você executou o comando chmod -777 /foo , ele pode ter algumas funcionalidades estranhas. Muito provavelmente, negará os bits que você está passando na negação octal de 777 (que é 111111111 em binário, o que é importante), o que não é realmente possível representar, pois chmod está usando um conjunto de 9 bits para permissões de arquivo (1 bit por permissão para leitura, gravação, execução * proprietário, grupo, usuário), que é um número não assinado (não pode ser negativo).

Vamos supor que você possa representar números assinados (valores negativos e positivos). Se você encontrar o complemento de 2 de 777 (0b111111111), então você pode descobrir o comportamento exato de (e o número para o qual você está passando) o comando:

 111111111
-000000000
----------
 111111111
+000000001
----------
1000000000 #this number will cause an overflow because it is 512
           #since our range is only -256 -> 255

O que tudo isso significa? Você disse ao kernel "Ei, faça as permissões para esta pasta 1000000000". O kernel respondeu com "Ok" e fez o que você pediu. Agora as permissões do seu sistema de arquivos são exatamente isso, --------- root root / . Isso tudo está assumindo que eu (e seu kernel / CPU) fiz a matemática corretamente.

Recuperação

As permissões padrão do sistema de arquivos raiz (qual / é) são geralmente 755. A maneira mais fácil de corrigir isso é efetuar login e alternar para tty usando Ctrl + F1 (que irá levá-lo para tty1, tty2-6 também estão abertos, com tty7 sendo a localização da atual sessão X). Você pode logar como root (ou como usuário regular, mas use sudo antes de cada comando abaixo) e execute este comando:

chmod 755 /

Isso deve corrigir o problema que você está tendo.

    
por ChrisR. 25.05.2014 / 08:11