revertendo o dono do arquivo no CentOS

1

Por engano, eu corri um comando estúpido com um erro de digitação. Eu criei um usuário "teamspeak" e eu queria mudar o dono do arquivo do diretório atual e é sub-diretórios, mas por engano eu corri no "/".

Eu era usuário "teamspeak" enquanto eu executava o comando, não "root" e eu corria algo assim:

chown -r teamspeak:teamspeak /*

Eu vi muitas linhas, as que eu consegui ler foram as que falharam em mudar o dono do arquivo, o progresso estava em torno do / lib e talvez / boot quando eu pressionei CTRL + C e o parei.

Mas o servidor não fica disponível após a reinicialização (tenho 90% de certeza que é o proprietário do arquivo).

Agora estou prestes a inicializá-lo no modo de imagem de resgate que meu host oferece.

Eu queria saber se existe uma maneira de reverter a coisa de permissão de arquivo .

E / OU

Um comando para procurar todos os arquivos pertencentes ao teamspeak: teamspeak e torná-los root: root

Pelo menos eu inicializo-o corretamente e busco todos os bancos de dados do meu servidor.

    
por adrianTNT 02.02.2012 / 11:24

5 respostas

1

O problema foi resolvido, um técnico de data center começou e disse:

the machine was halted in the BIOS on an error, waiting for intervention.

Estou aguardando por mais informações, mas provavelmente foi um aviso de inicialização porque o diretório / boot foi definido para outro usuário que não root: root

Agora entrei no ssh e executei o find / -user 'teamspeak' para ver os arquivos com o conjunto de usuários errados, foi:

/mnt
/lib
/lost+found
/root
/etc
/lib64
/opt
/sbin
/var
/var/tmp/yum-teamspeak-6jBpFg
/usr
/boot
/home
/home/teamspeak
/home/teamspeak/.viminfo
/home/teamspeak/.bashrc
/home/teamspeak/.bash_profile
/home/teamspeak/.bash_logout
/home/teamspeak/.bash_history
/srv
/selinux
/tmp
/bin
/media

Estes não são muitos arquivos / pastas alterados e o resultado parece incluir subdiretórios também. Então, eu os comparei com outra máquina com o mesmo sistema operacional (CentOS 6), todos eles deveriam ser root: root, eu os alterei de volta, fiz uma reinicialização e comecei bem.

Pfew:)

    
por 02.02.2012 / 18:56
2

"Um comando para procurar todos os arquivos pertencentes ao teamspeak: teamspeak e torná-los root: root"

Tente

find / -user 'teamspeak' | xargs chown root:root
    
por 02.02.2012 / 11:28
1

O problema é que alterar o proprietário de arquivos / pastas de volta para root pode não resolver todos os seus problemas, pois root não é o proprietário de todos os arquivos / pastas.

Eu acho que você tem duas opções:

  1. Reinstale o SO, se possível.
  2. Entre na tediosa tarefa de comparar isso com outro sistema em execução e alterar o proprietário conforme necessário. Você pode começar alterando o proprietário para o root como uma etapa inicial.
por 02.02.2012 / 11:31
1

O mais estranho é que o OP aparentemente derrubou a máquina (ou pelo menos impediu a reinicialização) executando um comando como usuário "teamspeak" em vez de root . Isso não deveria acontecer, a menos que já houvesse problemas de permissão na caixa antes de o comando ser executado.

A resposta de Janne não funcionará, já que os arquivos alterados provavelmente não devem ser de propriedade da raiz, mas a idéia de usar find pode ser válida.

Eu não sei onde o adrianTNT está em seu processo de recuperação, mas aqui está a verificação / validação de sanidade que eu faria:

1) execute find / -user teamspeak e obtenha uma lista de arquivos alterados 2) compare esta lista com as propriedades do arquivo de uma caixa diferente do CentOS 3) se uma caixa diferente do CentOS não estiver disponível (ou não puder ser acessada com rapidez suficiente), pelo menos faça um exame da lista de arquivos. Procure por arquivos de sistema que mudaram de propriedade.

Acho que você ainda vai querer ver uma caixa diferente do CentOS quando tiver essa lista. Como dito, um chown por um usuário não privilegiado não deve estragar a caixa assim. É possível que houvesse problemas de permissão antes do seu erro.

    
por 02.02.2012 / 14:12
0

Se você não tiver um backup, a única solução que me vem à mente é reinstalar um servidor e nunca mais executar esse comando: D

Você ainda pode inicializar a partir do CD, montar o disco e recuperar os arquivos necessários.

    
por 02.02.2012 / 14:09