Eu instalei o Ubuntu 11.10 hoje e instalei o VirtualBox. Isso exigiu que eu me adicionasse ao grupo vboxusers e, como a 11.10 parece não ter mais um aplicativo gráfico para adicionar usuários a um grupo, executei o seguinte comando:
sudo usermod -G vboxusers stephane
Isto é um problema. Agora vejo o que eu deveria ter executado:
sudo usermod -aG vboxusers stephane
O resultado final é que não estou mais nos grupos em que deveria estar. Incluindo qualquer grupo necessário para executar o "sudo". Quando executo qualquer comando como sudo agora, obtenho o seguinte:
$ sudo ls
[sudo] password for stephane:
stephane is not in the sudoers file. This incident will be reported.
Existe uma maneira de corrigir isso ou preciso reinstalar do zero novamente?
fonte
mount -o remount,rw /
.reboot -f
.Se o login root estiver ativado no seu sistema, basta soltar o terminal via Control+ Alt+ F1sem fazer login no X. Faça login como root e adicione o usuário desejado ao
admin
grupo (no Ubuntu 11.10 e versões anteriores):Para o Ubuntu 12.04 e posterior, adicione o usuário ao
sudo
grupo:Se você não ativou o login raiz, escolha o modo de recuperação no Grub e tente o shell raiz.
Monte o sistema de arquivos como leitura / gravação:
Depois disso, você poderá adicionar novamente o usuário desejado ao grupo
admin
(ousudo
).fonte
Eu tentei várias combinações depois de fazer a mesma coisa que a opção de menu remontar parece não estar na 12.10. Eu tentei de tudo neste post a partir da raiz. O ultimo foi
Isso resultou no sistema de arquivos ainda sendo ro devido a uma configuração no fstab para inicializar ro no erro do sistema de arquivos, eu acho, com ele afirmando que parecia ser ro após a montagem.
Eu finalmente consegui com
Embora eu não tenha certeza de como isso é diferente do conjunto de comandos anterior.
Após aplicar essa variação, a adição de um usuário ao grupo
admin
(11.10 e ealrier) ousudo
(12.04 e posterior) é feita da mesma maneira:fonte
Pergunta antiga, mas aconteceu comigo também (Ubuntu 14.04).
Não consegui entrar no modo de recuperação e obter acesso a um shell raiz, como muitas respostas aqui e em outros locais descrevem: o acesso ao shell raiz do GRUB parece estar protegido por senha.
Então, resolvi o problema desta maneira:
cd
afim disso.etc/group
(digamos comnano etc/group
ou qualquer outra coisa)sudo:x:27:admin,bob,alice
sudo
linha, separada por vírgulaObviamente, isso implica que o arquivo
etc/sudoers
ainda mantém a linhasignificando que todos os membros do grupo
sudo
têm controle total. Primeiro verifique isso.Trabalhou sem intercorrências.
fonte
Cometi o mesmo erro ao adicionar minha conta a um grupo (esqueci a
-a
). Meu sistema foi instalado com o login root bloqueado e minha conta foi a única na máquina.A resposta aceita não me ajudou. Durante a inicialização no modo de recuperação, tudo o que recebi foi uma mensagem inútil
Depois de pressionar ENTER, o sistema inicializou normalmente: sem sorte em obter acesso root para corrigir o problema. Estou deixando esta resposta caso alguém acabe no meu lugar a essa altura. Use o seguinte apenas se você não conseguir acessar o modo de recuperação através do menu Grub .
Um passo a passo para obter o shell raiz:
e
. O Grub exibirá um editor de linha de comando com várias linhas, cada uma das quais pode parecer desconhecida, se não intimidadora. Não se preocupe, as alterações que você fizer não serão salvas permanentemente.linux ... ro ...
. Esta é a linha de comando do kernel. Substitua oro
token porrw
, para tornar o sistema de arquivos raiz leitura / gravação e adicione outro parâmetro da linha de comando do kernelinit=/bin/sh
,. Isso instrui o kernel a executar emsh
vez de/sbin/init
. No final, a linha deve parecerlinux ... rw init=/bin/sh ...
. Nota: Você pode conviver com ogrub>
prompt simples . Ficarei feliz em explicar como, passo a passo, se tudo mais falhar para você; basta deixar um comentário para esta resposta.usermod -a -Gadm,sudo YOURUSERID
. Confirme comid -a YOURUSERID
a sua participação no sudo de volta. Caso você receba um erro "comando não encontrado", use/sbin/usermod
e/bin/id
.Você não pode desligar ou reiniciar o sistema corretamente neste momento.
reboot
,halt
oupoweroff
não funcionará, e aexit
partir do shell levará a um pânico no kernel, pois não se espera que o processo do PID 1 saia. Portanto, os próximos dois comandos que você deve emitir são:sync
caso algo dê errado, salve todas as alterações no disco eexec
substitua o shell pelo realinit
(que pode ser systemd, upstart ou System V init, mas sempre é chamado/sbin/init
). O sistema provavelmente continuará inicializando normalmente (sem modo de recuperação).sudo reboot
deve ter seu privilégio sudo de volta. Uma reinicialização é recomendada, pois (embora muito raramente)init
podem ser transmitidos parâmetros adicionais durante uma inicialização normal, e isso não foi feito. No caso deexec
falha, basta reiniciar a máquina e deixá-la inicializar normalmente. Todos os sistemas de arquivos de registro em diário modernos, como ext4, xfs e btrfs, se recuperam rapidamente (alguns segundos para uma verificação de diário, sesync
editados antes da redefinição), e você estará pronto.Um pouco de fundo
Houve uma discussão no relatório de bug do Debian sobre esse mesmo problema, e, tanto quanto entendi, isso foi decidido como um recurso e não um bug, que eu julgo ter sido um erro. Tendo estado neste ramo há 25 anos, não posso deixar de discordar inteiramente do argumento de Michael Biebl na mensagem # 31 nesse tópico:
A objeção correta, da IMO, se não suficientemente geral, foi dada na mensagem # 70 por Felipe Sateler:
Isso é verdade especialmente para o laptop, mencionado no argumento de Michael: se você o deixar sem vigilância por um momento, e alguém estiver atrás dos seus dados, o laptop simplesmente desaparecerá para nunca mais ser visto. E para qualquer máquina, não "muitas" ou "a maioria", mesmo as que foram aparafusadas em 8 pontos em um rack, assim que o atacante obtém acesso físico à máquina, o jogo realmente termina.
fonte