Das Eigentum an .Xauthority geht auf root über

11

Während .Xauthorityich mit LightDM und Webkit Greeter herumspielte, wurde dem Root-Benutzer das Eigentum an der Datei in meinem Home-Verzeichnis übertragen, und ich konnte mich nicht anmelden, da ich nicht über die Berechtigungen zum Sperren der Datei verfügte.

Ich konnte das Eigentum an der Datei wiedererlangen und mich erneut anmelden. (Nach mehreren Stunden der Neuinstallation von LightDM und seinen Begrüßern)

Jetzt funktioniert wieder alles gut. Aber ich würde gerne wissen, wie das passiert ist. Ist dies ein Fehler in LightDM oder Webkit Greeter oder etwas anderes?

s3lph
quelle

Antworten:

9

Mit ziemlicher Sicherheit nicht, nein. Sie haben entweder eine X-Sitzung als root gestartet (nicht sicher, wie Sie das geschafft haben) oder einfach verwendet touchoder anderweitig .Xauthoritymit geschrieben sudo. Für weitere Details müssten Sie erklären, was Sie tatsächlich getan haben.

Wenn Sie das nächste Mal nichts neu installieren, löschen Sie einfach die ~/.XauthorityDatei. Sie wird beim nächsten Anmelden automatisch neu erstellt:

sudo rm ~/.Xauthority

Dann melden Sie sich normal an.

Terdon
quelle
Um herauszufinden, wo das Problem war, bin ich einmal gelaufen sudo startx, was hat funktioniert. Nachdem ich den Besitz der Datei geändert hatte, konnte ich mich erneut anmelden. Hat das Starten von X als Root das ursprüngliche Problem behoben?
s3lph
@the_Seppi Nein, beim Ausführen von sudo startx wurde eine X-Sitzung gestartet, deren Eigentümer root war, dessen Eigentümer er war .Xsessionund der sich anmelden konnte. Anschließend haben Sie den Eigentümer geändert, sodass sich Ihr Benutzer erneut anmelden konnte. Wenn Sie das nächste Mal einfach die Datei löschen, wird sie beim Anmelden automatisch neu erstellt. Es macht keinen Sinn, ihre Berechtigungen zu "korrigieren".
Terdon
Aber es hat es behoben. Und ich habe nichts anderes mit .Xauthority gemacht. Übrigens. Was ist der Zweck dieser Datei?
s3lph
1
@the_Seppi ja, es hat es behoben. Die .XauthorityDatei ist im Grunde eine magische Zahl, mit der der Eigentümer einer X-Sitzung identifiziert wird, damit andere Personen sie nicht entführen können. Wenn Sie eine X-Sitzung ausführen und ich auf demselben Computer angemeldet bin, kann ich nur dann auf Ihre X-Sitzung zugreifen, wenn ich der Eigentümer der .XauthorityDatei bin . Es wird erstellt, wenn Sie sich anmelden, sofern keine vorhanden ist. Wenn Sie also die Berechtigungen für Ihren Benutzer ändern, wird dies behoben, aber auch einfach gelöscht.
Terdon
Ich hatte das gleiche Problem; Auf diese Weise habe ich versucht, startx als root auszuführen, nachdem ich versucht hatte, mich von einem verpfuschten Update zu erholen, das Bluetooth deaktiviert hat. Ich habe stundenlang versucht, die GUI zurückzubekommen. Es stellt sich als super einfach heraus! Löschen Sie alle .Xauthority-Sperrdateien, löschen Sie die .Xauthority-Datei und starten Sie neu. <rant> Es sind kleine Geheimnisse wie dieses, die so schwer zu finden sind, wenn Sie nicht Bescheid wissen (oder es ist zu lange her, seit Sie es waren), die Linux derzeit für viele Leute zu einer schlechten Wahl machen, die es sonst verwenden könnten. </ rant>
hlongmore
2

Das ist mir auch passiert. Ich denke, dass es durch Laufen verursacht werden könnte

sudo graphic_application

Anstatt von

gksudo graphic_application 

für einige (unbekannte) App. Es gibt einen Absatz auf der sudo-Hilfeseite darüber ... scrollen Sie nach unten zu "Graphical sudo".

Siehe auch Was ist der Unterschied zwischen "gksudo nautilus" und "sudo nautilus"?

Rmano
quelle
Dies sollte sich nicht auf das auswirken .Xauthority, das beim Starten der X-Sitzung erstellt wird. Es wird durch nachfolgende Starts von GUI-Apps nicht berührt.
Terdon
@terdon du hast recht --- es sei denn du verwendest startx oder ähnliches. Ich habe mit Xnest gespielt, als ich davon gebissen wurde, wahrscheinlich ein Bedienerfehler.
Rmano