MIT-MAGIC-COOKIE-1: Ich kann GUI-Befehle nicht als Root ausführen. Was kann ich tun, um das zu beheben?

MIT-MAGIC-COOKIE-1: Ich kann GUI-Befehle nicht als Root ausführen. Was kann ich tun, um das zu beheben?

Ich verwende die GNU/Linux-Distribution PureOS (basierend auf Debian/Ubuntu). Als Display-Manager habe ich XDM installiert. Nachdem ich mich als Root bei einer X-Sitzung angemeldet habe, trat ein Fehler auf. Ich kann in einer X-Sitzung ohne Root keine GUI-Befehle mehr als Root ausführen. Ich habe Fehlermeldungen erhalten, dass mein MIT-MAGIC-COOKIE-1 falsch ist. Es scheint mit der Datei .Xauthority oder der Variable $XAUTHORITY zusammenzuhängen.

Ich habe in mehreren Foren im Internet mehrere Linderungsmaßnahmen für das Problem gesehen. xhostAls Nicht-Root mit seinen Argumenten in verschiedenen Formen ausführen; dies deaktiviert jedoch die Authentifizierung des Systems und öffnet Sicherheitslücken; außerdem muss dies bei jeder X-Sitzung durchgeführt werden. Ausführen sudo -sE; dies bewahrt jedoch die Nicht-Root-Umgebungen. Ausführen su-to-root -X -c [command] %U; es hat funktioniert. Ausführen ssh -YXC [user]@[machine-name] [command]; es hat funktioniert. Dies sind jedoch Workarounds, die das ursprüngliche Problem nicht beheben.

DISPLAY=:0 /usr/bin/xhost +local:hat nicht funktioniert. Weder noch su - root -c [command]. Weder noch touch ~/.Xauthority; xauth generate $DISPLAY . trusted; xauth add ${HOST}$DISPLAY . $(xxd -l 16 -p /dev/urandom); xauth merge .Xauthority; es hat mir den Fehler angezeigt unable to rename authority file /var/lib/xdm/authdir/authfiles/, use /var/lib/xdm/authdir/authfiles/-n.

Nach einigen Recherchen (bei denen mir das x11vnc-Paket geholfen hat) habe ich gerade herausgefunden, dass die Datei, die das richtige Magic Cookie enthält, ist /var/lib/xdm/authdir/authfiles/A\:0-[whatever]. Seltsamerweise hat das Kopieren als neue .Xauthority-Datei beim ersten Mal einfach nicht funktioniert, beim zweiten Mal jedoch schon. Also habe ich eine erstellt export XAUTHORITY="/var/lib/xdm/authdir/authfiles/A:0-[whatever]"und das Problem schien behoben zu sein. Als ich jedoch eine erstellt habe export XAUTHORITY="/var/lib/xdm/authdir/authfiles/*", hat es nicht funktioniert; aber das Seltsamste ist, dass eine echo $XAUTHORITYden vollständigen Dateipfad anzeigt.

Außerdem habe ich sowohl die .Xauthority-Datei als auch die $XAUTHORITY-Variable von meinem Nicht-Root-Benutzer gelöscht und mein Gerät neugestartet, um zu sehen, ob es irgendwelche Nebenwirkungen auf dieses Konto gibt. Seltsamerweise konnte der Nicht-Root-Benutzer vor dem Neustart auch ohne sie GUI-Befehle ausführen. Nach dem Neustart zeigte die $XAUTHORITY-Variable von meinem Nicht-Root-Benutzer auf /tmp/.Xauth[whatever].

Außerdem habe ich gesehen, dass der Nicht-Root-Benutzer bei jedem Neustart des Computers ein neues Magic Cookie erhält, das mit der Datei A:0-[was auch immer] übereinstimmt (ein Hexdump hat gezeigt, dass sie übereinstimmende Hex-Strings enthielten).

Das wirft eine Reihe von Fragen auf: Warum erhält der Root-Benutzer keine zufälligen Magic Cookies mehr vom System? Welcher Prozess generiert und liefert diese Magic Cookies? Gibt es einen Befehl für den Root, um die richtigen Cookies zu generieren?

verwandte Informationen