chmod -R 777 / no ubuntu - vários problemas

4

Um cliente acidentalmente concedeu ao sistema de arquivos permissões completas em sua caixa do Ubuntu 10.04.

chmod -R 777 httpdocs/cd /

Como você pode ver, eles tentaram criar um cd para a raiz e, em vez disso, deram ao chmod um parâmetro divertido para brincar.

O primeiro sinal do problema foi a incapacidade de usar 'su', dando um erro de autenticação. sudo também reclamou de um bit setuid ausente. Isso foi corrigido fazendo login como root na própria máquina e executando chmod + s / usr / bin / sudo.

Agora posso sudo su e fazer o que preciso como raiz. su ainda apresenta uma falha de autenticação.

Eu segui o conselho aqui: link

chmod 0755 /
chmod 0755 /*
chmod 1777 /tmp
chmod 0750 /root
chmod 0700 /lost+found

Eu tentei redefinir a senha do root. Ainda não consigo usar su para se tornar root ou su root .

O sistema parece estar funcionando bem. Há alguma sugestão para fazer com que su funcione novamente? Onde posso procurar mais problemas?

    
por ncatnow 14.05.2010 / 09:32

3 respostas

15

Eu realmente consideraria fazer uma reinstalação completa do sistema. Mesmo que consiga obter a maioria das permissões e que as coisas pareçam funcionar, provavelmente haverá algumas permissões especiais disponíveis, apenas esperando para causar problemas.

Como alternativa, eu compararia a permissão com uma segunda máquina, possivelmente recém-instalada. Não deve ser difícil, juntamente com a sua linguagem de script favorita.

    
por 14.05.2010 / 09:56
3

Wow ... isso aconteceu comigo uma vez também ... felizmente era uma máquina em casa. Eu resolvi forçar uma reinstalação de todos os pacotes, para que toda permissão fosse devolvida. Foi no debian de qualquer maneira. Eu uso o apt-get install --reinstall $ packages em um script que tem todos os pacotes listados. O que o syslog ou auth dizem quando você tenta su?

Cais

    
por 14.05.2010 / 09:53
0

Talvez o problema na ausência de bit SUID?

Aqui estão os arquivos que devem ter:

ip@ip:~$ ls -al /bin | grep rws
-rwsr-xr-x  1 root root  27256 2010-01-28 20:32 fusermount*
-rwsr-xr-x  1 root root  78096 2009-10-23 07:28 mount*
-rwsr-xr-x  1 root root  35600 2009-05-12 00:43 ping*
-rwsr-xr-x  1 root root  31368 2009-05-12 00:43 ping6*
-rwsr-xr-x  1 root root  36864 2009-07-31 16:59 su*
-rwsr-xr-x  1 root root  56616 2009-10-23 07:28 umount*

ip@ip:~$ ls -al /usr/bin | grep rws
-rwsr-xr-x  1 root   root       14640 2009-05-12 00:43 arping*
-rwsr-sr-x  1 daemon daemon     52112 2009-09-16 01:29 at*
-rwsr-xr-x  1 root   root       41864 2009-07-31 16:59 chfn*
-rwsr-xr-x  1 root   root       37128 2009-07-31 16:59 chsh*
-rwsr-xr-x  1 root   root       59752 2009-07-31 16:59 gpasswd*
-rwsr-xr-x  1 root   lpadmin    14256 2010-03-02 17:16 lppasswd*
-rwsr-xr-x  1 root   root       62368 2008-11-05 15:24 mtr*
-rwsr-xr-x  1 root   root       32384 2009-07-31 16:59 newgrp*
-rwsr-xr-x  1 root   root       42856 2009-07-31 16:59 passwd*
-rwsr-xr-x  1 root   root       14880 2009-10-16 14:43 pkexec*
-rwsr-xr-x  2 root   root      143736 2010-04-13 20:31 sudo*
-rwsr-xr-x  2 root   root      143736 2010-04-13 20:31 sudoedit*
-rwsr-xr-x  1 root   root       18848 2009-05-12 00:43 traceroute6.iputils*
-rwsr-sr-x  1 root   root       10536 2009-11-10 12:48 X*

Tente definir a execução + SUID em todos eles (ou pelo menos no su) via

chmod u+xs file

UPD: note que para / usr / bin / at e / usr / bin / X você precisa fazer também

chmod g+xs
    
por 14.05.2010 / 14:41

Tags