Lição aprendida: não execute comandos como root se você não souber o que eles fazem. Se você executasse esse comando como seu próprio usuário, não teria conseguido lavar todo o sistema. By the way, esse site está errado; somente ~
, ~/.ssh
e ~/.ssh/authorized_keys
precisam não ser graváveis em grupo (consulte a seção de solução de problemas em nossa tag ssh wiki ).
Você pode limpar a partição, reinstalar e restaurar os arquivos importantes dos backups. (Se você não tem backups, você está procurando por problemas. A primeira coisa a fazer depois que o sistema estiver de volta e funcionando é para organizar algum sistema de backup automático. Não se esqueça de testá-lo.)
O comando que você executou não é muito destrutivo, você pode se recuperar dele. O principal obstáculo é que você desabilitou métodos normais de acesso root. No entanto, você está fadado a perder algumas permissões e acabar com um sistema ligeiramente quebrado. Por isso, recomendo que você reinstale, depois de salvar todos os dados importantes.
Se você tiver uma senha root e acesso ao console, mude para um console de texto (pressione Ctrl + Alt + F1 ) e registre como root. Se você não tiver uma senha de root, mas tiver acesso ao console, reinicialize a máquina e, quando o menu de inicialização aparecer, selecione uma entrada de “rescue” se tiver uma, ou se você não editar a entrada de inicialização normal e adicione init=/bin/sh
no final da linha que começa com kernel
. Veja também Como faço para logar no meu laptop Linux se eu esquecer o login e a senha? . Outra possibilidade, se você tiver acesso ao console, é inicializar a partir de um live CD do Linux, como o CD de Recuperação do Sistema . Se você não tem acesso ao console, explique sua configuração com muita precisão se precisar de ajuda para obter um shell de root (talvez pergunte sobre isso como uma questão separada).
Agora que você tem um shell de root, restaure as permissões mais importantes. Preste atenção aos detalhes, tente copiar e colar, se possível. Em particular, os chmods recursivos precisam de um capital X
em a+rX
e /dev/*/
não deve ser /dev/*
. As partes em /dev
não são necessárias se você reinicializar. Se você seguir estas etapas, haverá uma pequena janela de tempo em que qualquer usuário do sistema poderá obter raiz; isso não é um problema se você não tiver outros usuários além de você mesmo.
chmod a+rX / /* /var/* /dev /dev/*/
chmod a+rw /dev/full /dev/log /dev/null /dev/ptmx /dev/random /dev/tty /dev/urandom /dev/zero
chmod a+rw /var/lock /var/tmp
chmod -R a+rX /etc /bin /lib* /sbin /usr
chmod go-rx /etc/shadow /etc/gshadow /etc/sudoers
chmod go-rx /etc/*key /etc/ssh/*key
chmod g=x,o= /etc/ssl/private
chmod g=r,o= /etc/ssl/private/*
Após essas etapas, seu sistema deve ser mais utilizável, mas isso não é uma lista completa. Então, agora, salve todos os seus dados importantes e reinstale. Se estiver se sentindo aventureiro, compare as permissões em seu sistema com as de um sistema limpo e repare os arquivos restantes. Mas eu não recomendo usar a máquina em produção depois.