Como restaurar as permissões chown padrão em um diretório / arquivo? [duplicado]

5

Estou usando o Ubuntu 13.04 x86_64.

Eu queria ter todas as coisas no meu diretório pessoal. Então eu executei esses dois comandos.

sudo chown -RcH rootkea ~  
sudo chown -RcL rootkea ~

Agora, devido a esses links simbólicos ligados a alguns outros arquivos no sistema de arquivos, eu possuo acidentalmente arquivos que residem fora do meu diretório home.
As consequências imediatas que notei são:

  1. sudo não funciona

    $ sudo  
    sudo: effective uid is not 0, is sudo installed setuid root?
    
  2. o sistema ficou tão lento. É apenas enforcado quando clico em desligar / reiniciar. Cada vez que eu tenho que desligar manualmente a máquina.
  3. cria um arquivo de log /var/log/cups/error_log de tamanho indefinido que consome o último byte do meu disco rígido (após um tempo considerável). A última vez que foi 17,8 GB!
    O conteúdo do arquivo era apenas essas duas linhas repetidas incontáveismente:

    E [24/May/2013:02:27:52 +0530] File "/usr/lib/cups/notifier/dbus" has insecure permissions (0100755/uid=1000/gid=0).  
    W [24/May/2013:02:27:52 +0530] Notifier for subscription 531 (dbus://) went away, retrying!
    

Então, claramente, o programa cups está parafusado também.

Agora, não tenho ideia sobre quantos outros programas passaram para o estado inutilizável.

Existe alguma maneira de desfazer os efeitos dos dois comandos mencionados acima?
Como posso restaurar as configurações de permissão padrão para todo o sistema de arquivos?

    
por rootkea 27.05.2013 / 09:42

1 resposta

2

Como gertvdijk sugere (por referência a esta questão ), a reinstalação é quase sempre a melhor e mais fácil maneira de corrigir isso (e a única maneira que você pode ter certeza irá corrigir completamente ), especialmente se você não sabe exatamente onde a permissão foi mudada ou do que foi modificada.

Este método , que privado sugeriu , pode funcionar, e você pode considerar que vale a pena tentar. No entanto, há alguma variação de versão para versão de onde os arquivos e pastas estão e qual deve ser sua propriedade e suas permissões. Além disso, com qualquer solução além da reinstalação, você nunca saberá se há alguns arquivos ou pastas com permissões erradas, o que pode, em algum momento no futuro, causar problemas.

Normalmente, é possível corrigir - ou pelo menos progredir - o problema de sudo não funcionar (ou seja, problema 1, como você o listou) ao corrigir a propriedade:

pkexec chown root:root /usr/bin/sudo

Em uma situação como a sua, isso é útil principalmente como medida de conveniência para facilitar a execução das tarefas administrativas que você precisa realizar antes de reinstalar. (Ou antes de tentar aplicar alguma solução mais complicada.) Um backup está definitivamente em ordem agora, se seus backups de arquivos importantes (por exemplo, documentos) não estiverem completamente atualizados.

Por fim, lembre-se de que é apenas propriedade e não permissões , que foram modificadas. Então você pode tentar recursivamente mudar a propriedade dos diretórios de volta para a raiz. No entanto, isso também não corrige o problema, porque:

  • não está claro se você sabe exatamente quais diretórios foram alterados.
  • alguns arquivos não devem ser de propriedade do root, porque eles precisam ser acessados por partes menos privilegiadas do sistema; definir sua propriedade ou permissões de forma muito restritiva poderia quebrar o sistema.
  • alguns arquivos podem causar vulnerabilidades de segurança se forem de root. Um executável setuid sempre é executado como o usuário que o possui. Seu sistema pode conter executáveis setuid que sempre devem ser executados como algum usuário privilegiado não ; fazê-los funcionar como root pode ser ruim. Ou alguém pode - intencionalmente ou não - criar um arquivo setuid (sem ter permissões para torná-lo de propriedade do root). Se você fizer isso de root, ele será executado como root, não importa quem o execute. Isso pode ser muito ruim.

Então, se este é um sistema de produção, você deve apenas reinstalar.

    
por Eliah Kagan 13.04.2017 / 14:23