Atualizada de 13.10 para 14.04 com nome de usuário incorreto e não pode acessar nenhum arquivo

4

Não consigo fazer login no nome de usuário antigo porque ele não existe na tela de login. Não consigo recriar o nome de usuário antigo porque não tenho privilégios de root. Eu tentei muitos métodos de chegar ao modo de raiz e nenhum trabalho. Existe alguma maneira de mudar o novo nome de usuário para o antigo?

Geralmente recebo esta mensagem:

sudo: error in /etc/sudo.conf, line 0 while loading plugin 'sudoers_policy'
sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner
sudo: fatal error, unable to load plugins
    
por Jason Mamford 18.07.2014 / 13:45

1 resposta

7

Comece reiniciando no modo de recuperação ( coberto nesta questão ). Levante-se ao ponto em que você é root.

Depois disso, olhe para stat /usr/lib/sudo/sudoers.so . Eu vejo:

...
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
...

Pela aparência, isso não soa verdadeiro para você, mas não é totalmente certo do que você fez. Se o proprietário não for root ou as permissões forem diferentes de 0644, podemos corrigir isso rapidamente:

chown root: /usr/lib/sudo/sudoers.so
chmod 0644 /usr/lib/sudo/sudoers.so

Se essas permissões / propriedade forem o único problema, isso deve ser corrigido. Basta executar reboot para inicializar no Ubuntu.

Se você tiver ativado / usr completamente (com chmod -r ... /usr , por exemplo), você precisará restaurar as propriedades para muito mais arquivos. Felizmente, /usr é bastante rooty. Você pode restaurar a maior parte das permissões com:

chown -r root /usr
chown daemon /usr/bin/at
chown libuuid /usr/sbin/uuidd

Se você quiser saber como consegui esses dois retardatários, corri sudo find /usr -exec stat -c '%U %n' {} + | grep -v root em um sistema cleanish. Se você tiver um backup recente, sugiro executá-lo em seu backup.

    
por Oli 18.07.2014 / 14:02