Você tem algumas opções para se recuperar disso:
- Faça login com outro usuário com direitos suficientes para corrigir isso. Isso obviamente requer um segundo usuário com direitos suficientes, mas isso não é incomum se o servidor tiver vários administradores. (Cada um com seu nome de usuário e conta de administrador).
- Inicialize a partir de outro SO (por exemplo, um live CD ou pen drive. monte o disco e corrija o shell para root. (Trivial para fazer se você tem acesso físico, mas escreveu que isso não é o caso).
- Inicialize a partir de outro SO (por exemplo, um live CD ou pen drive. monte o disco e corrija o shell para root enquanto acessa o console remotamente via DRAC, ILO ou similar. Este último é bastante comum para servidores e você pode até apontar para um arquivo ISO local para atuar como um CD falso.
- Inicie o servidor no modo de usuário único. (por exemplo, no GRUB, adicione
single
ou1
aos parâmetros do kernel. Isso fará você cair em um shell. Em seguida, peça a alguém local para alterar o shell para você (ou no caso de DRAC / ILO alterar você mesmo). / li> - Se você tem um usuário com o direito de desligar o servidor, mas não para editar / etc / passwd. desligue o servidor para o nível de execução 1. Isso derrubará o servidor no modo de usuário único e você poderá editar a configuração a partir do console (mais uma vez precisando do ILO da HP, Dell DRAC ou similar).
- Se você tiver um segundo sistema operacional (ou uma instalação de recuperação) nesse servidor, inicialize-o e edite os arquivos.
Independentemente do que você faz: Nunca efetue logout quando fizer essas alterações.
Teste-os primeiro (por exemplo, inicie uma segunda conexão).