Deleted Myself do Admin Group - Now Getting Error usermod: não pode bloquear / etc / passwd; tente novamente mais tarde [duplicado]

11

Eu tenho um laptop com o Ubuntu 11.10 que é compartilhado entre mim e dois outros membros da família. Meu ID de usuário foi configurado como o único "Administrador" no laptop. Os outros usuários foram configurados como usuários "Padrão". Na minha tentativa de tentar me adicionar aos grupos de usuários para os outros usuários, eu de alguma forma me excluí dos grupos de administração. Eu usei o comando "usermod" do terminal. Devo ter negligenciado a inclusão dos comutadores ou sintaxes adequados para a atualização.

Parece que adicionei com sucesso meu ID do usuário ao grupo associado à conta da minha esposa. Quando eu uso o comando "groups", posso ver apenas o meu id e o id da minha esposa na lista. Não vejo mais os grupos "admin" ou "adm" e outros que costumavam ser listados. Quando entro em configurações do sistema > Contas de usuário parece que meu ID agora está listado como um usuário "Padrão". Eu gostaria de mudar minha conta de volta para "Administrador", mas agora não posso.

Eu fiz algumas buscas por soluções e descobri que eu precisaria inicializar no Recovery Mode e executar o comando usermod a partir da sessão raiz. Consegui inicializar com êxito no Recovery Mode e acessar a sessão raiz. Eu estava tentando executar o comando "usermod -a -G admin user1" para adicionar meu id (user1) de volta ao grupo admin.

Quando executo o comando a partir da sessão raiz, recebo a mensagem de erro "usermod: não é possível bloquear / etc / passwd; tente novamente mais tarde". Eu tentei preceder o comando usermod com "sudo", mas não fez diferença, o mesmo erro. Em seguida, tentei adicionar um novo usuário usando adduser, pensando em tentar criar um novo ID do usuário e criar a nova parte do ID do usuário do grupo de administradores. Eu recebo o mesmo erro usando o comando adduser.

Eu vi alguns posts que recomendam procurar e excluir arquivos que terminam em ".lock" no diretório etc. O único arquivo que encontrei foi o .pwd.lock que eu não toquei.

Não sei o que tentar em seguida. Eu sou relativamente inexperiente com Ubuntu e Linux, então muito disso é novo para mim. Qualquer ajuda que você puder fornecer seria muito apreciada.

    
por BubbaJ 16.11.2011 / 19:38

4 respostas

19

Eu finalmente descobri porque estava recebendo a mensagem de erro "usermod: não é possível bloquear o / etc / passwd; tente novamente mais tarde". A causa raiz do problema tinha a ver com o fato de que, quando inicializei no Recovery Mode, por padrão, o sistema de arquivos era montado como somente leitura. Como o sistema de arquivos era montado como somente leitura, o adduser e os comandos usermod não puderam executar suas funções e produziram a mensagem de erro.

O que me fez pensar que o problema não era um problema relacionado a corrupção de arquivo ou * .lock era que não havia arquivos passwd.lock, group.lock ou shadow.lock na pasta / etc. Além disso, recebi uma mensagem de erro diferente quando tentei copiar, renomear ou excluir o arquivo .pwd.lock que estava na pasta / etc quando fui inicializado na Sessão Raiz no Recovery Mode. Eu tenho uma mensagem de erro diferente, algo como incapaz de renomear o arquivo somente leitura. Fiz uma pesquisa na Web em "Recover Mode Read Only" e encontrei o seguinte post: .

A postagem fala sobre o modo de recuperação estar no modo somente leitura por padrão. Ele sugeriu remontar como leitura-gravação para permitir que alterações sejam feitas em arquivos na pasta / etc. Então, aqui está o que eu fiz para resolver o problema:

  1. Desligar o computador
  2. Inicialize no modo de recuperação - Depois de carregar o BIOS, mantenha pressionada a tecla Shift para acessar o menu do grub - Uma vez no menu do grub, selecione a entrada que termina em "(modo de recuperação)"
  3. No menu seguinte, selecione a opção para entrar na Sessão Raiz
  4. Na sessão raiz, execute o seguinte comando para remontar o sistema de arquivos como leitura-gravação:

    mount -o remount,rw /
    
  5. Execute o comando adduser para adicionar meu userid ao grupo admin. Comando executado "adduser username admin" onde substitui username pelo nome de usuário do meu sistema atual. Desta vez, não recebi um erro ao executar o comando, pois o sistema de arquivos foi montado como leitura-gravação.

  6. Saia da Sessão Raiz, saia do modo de recuperação e reinicie.

Uma vez reinicializado no Ubuntu, pude ver que meu userid agora estava listado como sendo um membro do grupo admin, executando o comando "Groups" da sessão de terminal normal. Eu também verifiquei o mesmo na GUI, indo para "Contas de Usuário" no menu Configurações do Sistema Ubuntu. Lá meu ID de usuário também foi listado como "Administrador".

Eu fui mais longe para tentar replicar meu problema original para ver se a reinicialização do Recovery Mode e a etapa # 4 acima (para remontar o sistema de arquivos como leitura-gravação) reproduziriam o erro "incapaz de bloquear / etc / passwd" e isso aconteceu. A causa raiz do problema tinha a ver com a forma como o sistema de arquivos foi montado no modo de recuperação.

Parece estranho para mim como um novo usuário que inicializar no modo de recuperação seria somente leitura por padrão. Não é essa a ideia de recuperação, que você precisaria fazer algumas alterações para corrigir os arquivos de atualização, corrigir problemas que, de outra forma, não seriam possíveis como um usuário normal?

De qualquer forma, estou feliz por ter agora pelo menos um usuário no computador com acesso de administrador. Obrigado novamente a todos que responderam ao meu problema.

    
por BubbaJ 17.11.2011 / 17:16
1

Você pode tentar tornar o arquivo /etc/.pwd.lock vazio ( nano /etc/.pwd.lock e excluir tudo), se não estiver, e usar adduser your_user admin da sessão raiz para inserir seu usuário novamente no grupo admin. Este arquivo é para controlar o acesso aos arquivos /etc/passwd e /etc/shadow , evitando modificações simultâneas. Deve estar vazio se nenhum dos arquivos estiver sendo modificado.

    
por laurent 16.11.2011 / 20:35
0

Inicialize no modo de recuperação, escolha a opção de shell de root e adicione sua conta de usuário de volta ao grupo de administração.

    
por psusi 16.11.2011 / 22:23
0

Você deve realmente excluir esse arquivo de bloqueio usando o console de recuperação, embora eu ache que você poderia fazer a mesma coisa apenas entrando no modo superusuário com o comando su - em um terminal dentro de sua sessão normal de usuário. Este parece ser um bug conhecido, embora a razão aparente seja desconhecida. Verifique este relatório de erros para mais informações.

BTW, usar o sudo em uma sessão raiz é inútil porque o sudo apenas executa um comando com privilégios de root, e se você já estiver usando o sistema com root, já estará executando comandos com privilégios de root.

    
por devius 17.11.2011 / 00:19