acidentalmente executava “chown www-data: www-data / -R” como root

25

eu apenas executei isso alguns segundos atrás, eu consegui fazer ctrl-c assim que eu percebi o que eu comecei a fazer.

até agora, no único diretório em que passou, é o / bin

estou com medo de fazer qualquer outra coisa, até agora eu percebo que não posso mais usar "su" como meu usuário normal.

felizmente eu ainda tenho outro terminal de raiz aberto, o que fazer?

    
por Will 25.01.2010 / 06:49

8 respostas

9

A maioria das coisas em / bin / deve pertencer a root: root, portanto, se você executar o seguinte, poderá corrigir a propriedade desses arquivos:

chown root:root -R /bin/ 

Você também pode querer certificar-se de que o bit setuid esteja configurado corretamente em / bin / su, que você pode corrigir com o seguinte:

chmod 4755 /bin/su
    
por 25.01.2010 / 08:27
35

Usuário do Redhat:

chown 0:0 /bin/rpm && rpm -qa | xargs rpm --setugids

Utilizador Debian / Ubuntu:

chown 0:0 /bin/*  /usr/bin/*
chown daemon:daemon /usr/bin/at
chown 0:utmp /usr/bin/screen
chmod 02755 /usr/bin/screen
chmod u+s /bin/fusermount /bin/mount /bin/su /bin/mount
chmod u+s /usr/bin/sudo /usr/bin/passwd
screen

Enquanto a tela está sendo executada, faça isso pelo menos duas vezes:

dpkg --get-selections | awk '{ if ($2 == "install") print $1}' \
    | xargs apt-get install --reinstall --

Pague muito atenção à saída porque se ela reclama de algo com permissões erradas, você deve corrigi-la em outra janela de tela.

Curso intensivo na tela:

Control+A     - command key
Control+A a   - emit a control+A
Control+A n   - next "screen"
Control+A c   - create "screen"

Usuário do Solaris:

Você está fodido.

pkgchk -R / -f -a

redefinirá todas as permissões, mas o setuid-ness ainda será quebrado. Use um backup ou outra máquina solaris para procurar scripts e arquivos setuid / setgid e corrigi-los manualmente.

A COISA IMPORTANTE SOBRE BACKUPS

É que você pode recuperá-los, não que você os leve.

Outras pessoas lhe deram conselhos para fazer backups, mas quero acrescentar que você deve testá-los. Se você estiver usando um sistema unixish, não há motivo algum para que você não possa despejar os arquivos em outra máquina periodicamente e garantir que tudo funcione.

    
por 25.01.2010 / 15:45
3

Esteja ciente de que os sinalizadores de set-uid em quaisquer binários afetados podem ter sido removidos também; este é um recurso de segurança do chown. Verifique com algum outro sistema quais binários possuem os sinalizadores set-uid ou set-gid e certifique-se de configurá-los em seus binários também.

    
por 25.01.2010 / 13:18
3

Eu ia explicar os detalhes do uso do RPM para redefinir as permissões de arquivos, mas encontrei um site com muito mais informações . Ele também menciona que o Ubuntu / Debian (portanto, o .debs em geral) não suporta isso.

Mas, em geral, a opção que você está procurando seria ao longo das linhas:

rpm --setugids {packagename}
    
por 25.01.2010 / 14:16
2

Se este fosse um sistema debian, eu teria que reinstalar tudo.

    
por 25.01.2010 / 14:24
0

você tem um backup funcional? quando sim, restaure sua pasta bin.

caso contrário, veja uma outra caixa onde você instalou a mesma versão do ubuntu e chown para o que você encontra na instalação de trabalho.

    
por 25.01.2010 / 07:52
0

tente isto: encontre todos os www-data no diretório / bin

# find /bin -user www-data

altere o www-data de volta para o usuário original

# find /bin -user www-data -exec chown ORiginalUser {} \;

# then change www-data back to oringal group
# find /bin -group www-data -exec chgrp originaluser {} \;
    
por 25.01.2010 / 08:35
0

Obrigado por todas as ótimas respostas, tudo parece estar resolvido agora.

/ bin / su funcionou uma vez chmod'd para 4755 (não tenho certeza porque chown mudou o bit suid)

Eu não notei, mas ele também começou a trabalhar através do diretório / home, mas foi uma correção bastante fácil (basta definir user: group para o usuário para cada diretório)

    
por 26.01.2010 / 05:47