Alterar proprietário da pasta raiz e subpastas (Ubuntu 13.04)

0

Eu acidentalmente configurei o proprietário da pasta raiz (/) e todas as subpastas para um usuário por comando

$ sudo chown -R 'userName' /*

Agora, quero definir o proprietário de volta para o usuário root por comando

$ chown -R root:root /*

Mas não tenho permissão para esta operação. Se eu usar o comando

$ sudo chown -R root:root /*

retorna

sudo: effective uid is not 0, is sudo installed setuid root?

O que devo fazer para corrigir isso?

    
por Keeper Panter 03.07.2013 / 18:20

3 respostas

2

Uh ... essa é uma situação interessante. sudo requer que o binário seja de propriedade de root e tenha o setuid flag para funcionar corretamente (isso permite que ele seja executado como o proprietário do arquivo, independentemente de quem realmente o tenha lançado).

Ao alterar o proprietário, sudo não pode mais ser executado como root e, subseqüentemente, não é possível executar seus comandos como root .

O método mais fácil de se recuperar disso é

  1. Reinicialize a máquina no modo de usuário único
  2. Copie todos os seus arquivos importantes para uma unidade USB ou externa.
  3. Reinstale o Ubuntu e restaure seus arquivos.

Como você descobriu, há vários arquivos de sistema que dependem absolutamente de ter o proprietário correto e as permissões corretas. SSHd , por exemplo, se recusará a iniciar se a chave privada do host não tiver exatamente permissões corretas ( 0600 e pertencentes ao root, eu acho). sudo não pode se elevar sem ser setuid e pertencente a root , e tenho certeza de que há muitos outros programas relacionados à segurança que não funcionarão se perceberem que as coisas não são perfeitas.

Por meio de um monte de trabalho muito tedioso , seria possível recuperar algumas das permissões usando um computador externo, mas não é uma tarefa divertida e uma reinstalação provavelmente será muito mais simples.

    
por 03.07.2013 / 18:26
1

se você se divertiu recursivamente antes, então suas permissões são irreversivelmente danificadas.

Faça backup dos seus dados e reinstale-os.

    
por 03.07.2013 / 18:27
1

Sério, reconstrua do zero. mesmo se você passar pelo erro que você está vendo, e conseguir re-chown root, seu sistema ainda estará quebrado como está agora. efetivamente não há meios de se recuperar de um chowning fora de controle (ou chmoding para esse assunto). Mesmo se você fosse de alguma forma capaz de obter uma lista parcial dos proprietários originais de cada objeto, seria quase certamente incompleto, e refletiria um estado do sistema de estoque, que pode ter sido alterado pela instalação do app / daemon após os arquivos terem sido criados inicialmente .

    
por 03.07.2013 / 18:27