/ etc / sudoers Datei beschädigt und ich kann 'pkexec visudo' nicht über SSH ausführen


14

Nach den Anweisungen hier bekomme ich:

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.

Ich mache das über ssh, da die Box, auf der ich das mache, als Musikserver ohne Bildschirm verwendet wird und eher unzugänglich ist. Dies geschah, als ich ein Upgrade von Ubuntu 14.04 auf 16.04 durchführte. Ich habe versucht, eine sudoers-Datei aus einer anderen 16.04-Installation zu kopieren, kann dies jedoch aufgrund der sudoers-Datei nicht tun:

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

Soll ich die Kiste vom Dachboden holen und es versuchen pkexec visudooder stimmt hier etwas anderes nicht?


AFAIK pkexecerlaubt dies nur für einen lokalen Benutzer (kein SSH-Remote-Benutzer) - also ja, es sollte vom Dachboden aus
funktionieren

Holen Sie sich entweder die Box oder das Laufwerk, hängen Sie es in einen anderen Computer ein und bearbeiten Sie sudoerses entsprechend. Kommt darauf an, was am einfachsten ist.
Vidarlo

@steeldriverIt Es hat gerade für mich als Remote-Benutzer funktioniert. JFYI.
PHP-Codierer

Antworten:


42

Ich bin auch auf dieses Problem gestoßen und habe mit einigem Graben eine funktionierende Lösung gefunden. Die ursprüngliche Lösung stammt aus diesem Github-Problem für NixOS von EstalillaJ.

  1. Öffnen Sie zwei SSH-Sitzungen für den Zielserver.
  2. Ermitteln Sie in der ersten Sitzung die PID von bash, indem Sie Folgendes ausführen:

    echo $$

  3. Starten Sie in der zweiten Sitzung den Authentifizierungsagenten mit:

    pkttyagent --process (pid from step 2)

  4. Führen Sie in der ersten Sitzung Folgendes aus:

    pkexec visudo

  5. In der zweiten Sitzung erhalten Sie die Passwortabfrage. visudo startet in der ersten Sitzung.


4
Heilige Scheiße, du hast mir das Leben gerettet! thx: D
Roger Barretto

das ist verrückt, es funktioniert perfekt! und keine Notwendigkeit, das System neu
undefinedman

Vielen Dank, das hat mich wirklich gerettet! ⭑
Frederic

Was ist, wenn
ich

Können Sie in der zweiten Sitzung nicht einfach eingeben, pkttyagent --process $$anstatt die Prozess-ID aus der ersten Sitzung zu kopieren?
IkWeetHetOokNiet
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.