/ arquivo / etc / sudoers corrompido e não consigo executar 'pkexec visudo' no SSH

5

Seguindo as instruções aqui , recebo:

pkexec visudo

==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run '/usr/sbin/visudo' as the super user
Authenticating as: Thomas,,, (tuc) Password:  polkit-agent-helper-1:
error response to PolicyKit daemon:
GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for
cookie
==== AUTHENTICATION FAILED === 
Error executing command as another user: Not authorized

This incident has been reported.

Estou fazendo isso via ssh, pois a caixa em que estou fazendo isso é usada como um servidor de música sem tela e é bastante inacessível. Isso aconteceu quando eu atualizei do Ubuntu 14.04 para 16.04. Eu tentei copiar um arquivo sudoers de outra instalação recente do 16.04, mas não posso fazer isso por causa do arquivo sudoers:

sudo mv ~/gyrf sudoers

>> /etc/sudoers: syntax error near line 36 <<<
>> /etc/sudoers: syntax error near line 37 <<<
>> /etc/sudoers: syntax error near line 38 <<<
>> /etc/sudoers: syntax error near line 39 <<<
>> /etc/sudoers: syntax error near line 40 <<<
>> /etc/sudoers: syntax error near line 41 <<<
>> /etc/sudoers: syntax error near line 42 <<<
>> /etc/sudoers: syntax error near line 43 <<<
>> /etc/sudoers: syntax error near line 44 <<<
>> /etc/sudoers: syntax error near line 45 <<<
>> /etc/sudoers: syntax error near line 46 <<<
>> /etc/sudoers: syntax error near line 47 <<<
>> /etc/sudoers: syntax error near line 48 <<<
>> /etc/sudoers: syntax error near line 49 <<< 
sudo: parse error in /etc/sudoers near line 36    
sudo: no valid sudoers sources found, quitting sudo: unable to initialize policy plugin

Devo ir buscar a caixa do sótão e tentar pkexec visudo ou há algo mais errado aqui?

    
por Thomas Ulrich Christiansen 17.07.2016 / 12:11

1 resposta

9

Eu me deparei com esse problema também e com alguma escavação, encontrei uma solução de trabalho. A solução original é de esta edição do github para o NixOS da EstalillaJ.

  1. Abra duas sessões ssh no servidor de destino.
  2. Na primeira sessão, obtenha o PID do bash executando:

    echo $$

  3. Na segunda sessão, inicie o agente de autenticação com:

    pkttyagent --process (pid from step 2)

  4. De volta à primeira sessão, execute:

    pkexec visudo

  5. Na segunda sessão, você receberá o prompt de senha. o visudo começará na primeira sessão.

por Satyen A. 09.07.2018 / 20:41