Eu acidentalmente executei o comando chown -R root / enquanto tentava alterar as permissões para a pasta pública do meu aplicativo rails. Eu acreditava que isso alterava as permissões para todas as minhas pastas no diretório /. Então, minha pergunta é: quão perigoso é isso, de fato, a melhor pergunta seria: existe alguma maneira de desfazer isso?
linux
unix
permissions
filesystems
chmod
user1938700
fonte
fonte
find
todos os arquivos pertencentes à raiz onde o grupo não é apropriado e os exibem ao usuário que corresponde ao grupo. Registre falhas e lide com elas individualmente.Respostas:
Uma maneira de atenuar o problema aqui (não resolver, mas ajudá-lo a sair de um buraco) é executar um processo em um sistema semelhante para coletar as propriedades apropriadas para os arquivos. Aprecio que as chances de uma correspondência exata sejam um pouco reduzidas, mas se os dois sistemas estiverem no mesmo nível dos pacotes similares instalados, você poderá ter sorte.
Depois de coletar as permissões de arquivo em um arquivo, você poderá executar um processo em seu próprio sistema para ler os arquivos e permissões / propriedades do bom e substituí-los no seu. Eu tenho alguns aplicativos caseiros pequenos no Linux que fazem exatamente isso.
Por exemplo
RWX * UID * GID * outras coisas * diretório * nome do arquivo
fonte
Primeiro de tudo, pare o comando se ele ainda estiver em execução!
Agora tudo pertencerá à raiz e isso é bastante problemático.
Você deve tentar restaurar as informações do seu backup mais recente.
Também é importante não reiniciar o sistema antes de verificar todos os aplicativos em execução e o usuário iniciá-los na inicialização. Se o fizer, alguns deles podem não iniciar corretamente devido a problemas de permissão.
Boa sorte.
fonte
Muito e não exatamente.
"Muito" no sentido de que, se o comando foi realmente executado, sua segurança está ferrada. Agora você não sabe quais caminhos têm quais proprietários e quem deve ter permissão para fazer o que.
"Não exatamente" no sentido - você tem certeza de que estava enraizado quando fez isso e o comando foi até o fim? Se você o cancelou, assim que o viu, pode ter sorte e o reparo pode estar baixo. Se você não fosse root, este comando não deveria ser capaz de fazê-lo, a menos que você fizesse algo assim
sudo ...
.Não existe um remédio único para isso. Se você tiver um backup, poderá restaurá-lo. Pode ser necessário verificar as propriedades no backup e aplicá-las. Se você estiver usando um verificador rootkit (por exemplo, rkhunter), ele pode ter uma lista das propriedades mais básicas e possivelmente consertá-lo. (Não é bem provável).
fonte
No Fedora, pelo menos, o comando RPM tem as opções
--setperms
e--setugids
, usando-as, você pode corrigir a maioria dos arquivos pertencentes ao sistema, comorpm --setugids -a
. Para (um pouco) corrigir os arquivos de cada usuário, você pode fazer por cada umchown -R user /home/user
. Provavelmente haverá sobras que não foram corrigidas pelos itens acima, especialmente se você tiver algum tipo de servidor (web, ftp, outros), essas terão que ser tratadas uma a uma.Provavelmente outras distribuições têm mecanismos semelhantes. Ou faça uma atualização completa (ou seja, instale tudo de novo, como se de alguma forma estivesse danificado. OK, estava de alguma forma danificado).
[Sim, esta é mais uma vez a maneira bastante cruel do Unix de ensinar aos usuários inocentes a considerar cada comando com cuidado antes de pressionar ENTER, e usar o root com moderação . Considere-se ensinado.]
fonte
setuid
e assetgid
permissões precisam ser definidas manualmente.rpm
não os restaurará.Se o seu uso do OSX apple fornece um recurso de restauração nos Utilitários de Disco para corrigir esse problema. Se você estiver usando uma distribuição Linux, tenho certeza de que precisará refazer todas as permissões manualmente. Em ambos os casos, bata nas mãos e não faça novamente
fonte
Infelizmente, não conheço nenhuma maneira de "desfazê-lo", mas você provavelmente pode deixar os arquivos do sistema como pertencentes ao root e restaurar todos os arquivos em seu $ HOME para pertencer a você (e fazer o mesmo para todos os usuários do sistema). Nesse ponto, você pode corrigir permissões e / ou proprietário em cada arquivo que não esteja no diretório $ HOME que precisa dele conforme ele é lançado. Sim, isso é uma dor, mas não acho que haja uma solução fácil. Isso é o que eu faria de qualquer maneira.
fonte
Eu diria que você é muito "ferrado" como você diz. A melhor maneira (e mais eficiente) é reinstalar e restaurar itens críticos de seus bons backups. Desculpe, essa não é uma situação que geralmente tenha uma solução rápida com um final feliz. Boa sorte!
fonte