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 é inacessível. Isso aconteceu quando eu atualizei do Ubuntu 14.04 para 16.04. 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 no sótão e tentar pkexec visudo
ou há algo de errado aqui?
pkexec
só permite isso por um local de usuário (não um usuário remoto SSH) - então sim ele deve funcionar a partir do sótãosudoers
a conforme necessário. Depende do que é mais fácil.Respostas:
Também encontrei esse problema e, com algumas escavações, encontrei uma solução funcional. A solução original é deste problema do github para NixOS do EstalillaJ.
Na primeira sessão, obtenha o PID do bash executando:
echo $$
Na segunda sessão, inicie o agente de autenticação com:
pkttyagent --process (pid from step 2)
De volta à primeira sessão, execute:
pkexec visudo
Na segunda sessão, você receberá a solicitação de senha. O visudo começará na primeira sessão.
fonte