Propriedade da pasta etc é alterada como restaurá-lo usando a linha de comando?

2

Eu tenho um computador com o Ubuntu 13.10 instalado. O usuário (digamos, Walesa ) alterou a propriedade da pasta etc e todas as suas subpastas de root para Welesa usando um gerenciador de arquivos privilegiado. Como sudo foi desativado, ele foi reinicializado esperando que ele seja reativado novamente. Mas a segurança não permite log-in depois de digitar o nome de usuário e senha dizendo "dono de etc / profile não é root".

Mas um login de linha de comando com I have no name!@Walesa é possível. Existe uma maneira de restaurar a propriedade de etc e todas as suas subpastas para root usando essa linha de comando?

    
por user62511 12.03.2014 / 19:28

4 respostas

7

Fazendo:

sudo chown -R root.root /etc

na linha de comando irá definir /etc e tudo abaixo para o proprietário root e grupo root

No entanto, no meu sistema (Ubuntu 12.04) nem tudo em /etc está no grupo root . A lista a seguir pode ajudar (gerada com sudo find /etc ! -gid 0 -ls | cut -c 29- ):

root     dovecot      5348 Apr  8  2012 /etc/dovecot/dovecot-sql.conf.ext
root     dovecot       782 Apr  8  2012 /etc/dovecot/dovecot-dict-sql.conf.ext
root     dovecot       410 Apr  8  2012 /etc/dovecot/dovecot-db.conf.ext
root     shadow       2009 Dec 23 16:10 /etc/shadow
root     lp           4096 Mar 12 19:38 /etc/cups
root     lp            540 Mar 12 19:38 /etc/cups/subscriptions.conf
root     lp            108 Sep  1  2012 /etc/cups/classes.conf
root     lp           4096 Oct  8  2012 /etc/cups/ppd
root     lp           2751 Mar 12 07:38 /etc/cups/printers.conf
root     lp           2751 Mar 11 21:06 /etc/cups/printers.conf.O
root     lp            108 Jun  6  2012 /etc/cups/classes.conf.O
root     lp            540 Mar 12 19:24 /etc/cups/subscriptions.conf.O
root     lp           4096 Mar 28  2012 /etc/cups/ssl
root     sasl        12288 Jun  6  2012 /etc/sasldb2
root     daemon        144 Oct 25  2011 /etc/at.deny
root     dialout        66 Oct 31  2012 /etc/wvdial.conf
root     lightdm         0 Apr 21  2012 /etc/mtab.fuselock
root     shadow        981 Feb 19 23:38 /etc/gshadow
root     dovecot      1306 Jun  6  2012 /etc/ssl/certs/dovecot.pem
root     ssl-cert     4096 Jun  6  2012 /etc/ssl/private
root     dovecot      1704 Jun  6  2012 /etc/ssl/private/dovecot.pem
root     ssl-cert     1704 Apr 21  2012 /etc/ssl/private/ssl-cert-snakeoil.key
root     fuse          216 Oct 18  2011 /etc/fuse.conf
root     dip          4096 Oct 31  2012 /etc/ppp/peers
root     dip          1093 Mar 28  2012 /etc/ppp/peers/provider
root     dip          4096 Mar 28  2012 /etc/chatscripts
root     dip           656 Mar 28  2012 /etc/chatscripts/provider
    
por 12.03.2014 / 19:34
2

Como você pode modificar /etc/passwd , é possível remover a verificação de senha na conta raiz. Edite /etc/passwd e mude a linha

root:x:0:0:root:/root:/bin/sh

para

root::0:0:root:/root:/bin/sh

(isto é, o segundo campo separado por dois pontos deve estar vazio). Agora você pode executar su e se tornar root sem digitar uma senha. (Acho que isso funciona no Ubuntu, mas se as senhas vazias estiverem desabilitadas, você pode colocar aaxSuH/.jTvGs no segundo campo e usar a senha changeme .)

Repare as permissões executando

cd /etc
chown -R root:root /etc
chgrp shadow shadow gshadow

e mais um monte de chgrp de comandos - A lista de Anthon é um bom começo.

Depois de fazer isso, verifique em outro terminal que você pode usar sudo normalmente.

Em seguida, altere a senha do root de volta para desativada ou a que está em /etc/shadow : edit /etc/password e coloque x (ou * ) como o segundo campo.

Finalmente, envie um e-mail desagradável para Walesa e diga-lhe para não fazer mais essas acrobacias. É o equivalente a fechar os olhos e atirar uma faca no ar, esperando que ela caia apenas para a direita para curar a sua unha.

    
por 13.03.2014 / 01:28
1

Acabei de alterar todos os meus arquivos em / etc para user: user e depois mudei-os de volta para root: root uma vez que eles mudaram, você tem que mudar seu usuário para superuser: su então forneça suas credenciais para o superusuário conta.

assim que você for o superusuário, basta executar chown -R root:root /etc e voltará

    
por 13.03.2014 / 00:41
1

Graças à resposta de Anthon acima, o problema de login foi resolvido:

Eu encontrei um CD alternativo antigo do kubuntu 12.04, entrou no shell de resgate, onde

sudo chown -R root.root /etc

pode ser executado. Então poderíamos logar e tudo parecia perfeito

Mas o sudo não funcionou com esse erro:

/etc/sudoers is world writable
no valid sudoers sources found, quitting...
unable to initialise policy plug-in

Eu pesquisei os erros e encontrei este thread , em que este comando:

pkexec visudo

estranhamente resolvido sudo probelm, o erro /etc/sudoers is world writable persistindo (mas não interferindo). wierdly porque acho que não mudei nada manualmente (ou se sim, tentei evitar salvar).

Em seguida, no mesmo segmento, estes:

chmod u=rwx,g=rx,o=rx /etc/sudoers.d/
chmod u=r,g=r,o= /etc/sudoers.d/*

removeu o erro persistente do sudo. Ainda pode haver problemas (provavelmente não graves).

    
por 13.03.2014 / 05:23