Para responder à sua pergunta "why", a resposta é que muitos desses binários (principalmente ssh
e sudo
) exigem que o bit setuid seja definido e você o limpou.
Eu sei que isso é um grande problema de segurança, etc., mas eu acho que é muito estranho que muitos dos meus serviços parem de funcionar (MySQL, SSH, Node) e, mais importante, sudo provavelmente outros. Eu não quero reinstalar o servidor inteiro e também não tenho um backup do Ubuntu. Eu realmente não me importo com os problemas de segurança, eu só quero obter os serviços, especialmente o MySQL rodando novamente, já que este é um servidor de teste de qualquer maneira.
Por que a chmod tornou esses serviços não-utilizáveis? E como eu corrijo o MySQL e o sudo?
Para responder à sua pergunta "why", a resposta é que muitos desses binários (principalmente ssh
e sudo
) exigem que o bit setuid seja definido e você o limpou.
Programas bem escritos que esperam ser instalados com permissões de execução privilegiadas devem validar que eles não foram iniciados em uma configuração insegura, para evitar que sejam usados como caminhos para danificar um sistema e não sejam executados com permissões ou propriedade incorretas . A garantia de que esse comportamento faz parte do código faz parte da auditoria de segurança realizada durante o lançamento de muitos projetos de software importantes, tanto de código aberto quanto fechado.
Aqui está um hack feio que pode fazer você voltar a funcionar:
1) Encontre ou instale um sistema que seja o mais semelhante possível ao sistema com problemas.
2) Execute um comando nesse servidor para produzir o caminho completo de cada arquivo e suas permissões. Por exemplo:
find / | while read F; do ls -lad ${F}; done | cut -f 1,9 -d " " | tee /tmp/log
3) Copie a saída desse script para o sistema danificado.
4) Coloque em um script que defina essas permissões. Ignore erros devido a arquivos não existentes. Por exemplo:
cat /tmp/log | while read F; chmod ${F}; done
Tags permissions ubuntu