Mein reguläres Benutzerkonto ist beispielsweise user1. Ich habe einen separaten Benutzer2 für eine x-Anwendung erstellt, die ich ausführen möchte, während ich bei x als Benutzer1 angemeldet bin, aber auf eine Weise, die den Lese- / Schreibzugriff auf Benutzer1-Daten verhindert. Ich dachte, dass ich xauth und sudo / su zu Benutzer2 von Benutzer1 verwenden könnte, um diese Anwendung auszuführen. Wie mache ich das? Ich bin nicht sicher, wie ich xauth konfigurieren soll.
48
.Xauthority
Datei im Ausgangsverzeichnis von Benutzer2. Problem 2: Irgendwie und aus irgendeinem Grund verstehe ich nicht, nachdemsu
XAUTHORITY den Dateipfad für Benutzer1 gespeichert hat. Diese Datei kann jedoch nicht von Benutzer2 gelesen werden.unset XAUTHORITY
unter user2hexkey
imxauth add
befehl der selbe wie vonxauth list
oder muss ich einen zufälligen neuen erstellen?Ich habe
.zshrc
eine Zeile mitexport XAUTHORITY=~/.Xauthority
und jetzt kann ich ausführensudo -E xcommand
. Nach vielem googeln war das für mich der einfachste Weg.quelle
sudo -E
(und die Verwendung-E
bei den meisten Standardinstallationen deaktiviert ist), da normalerweisesudoers
dieXAUTHORITY
Umgebungsvariable in der Standardkonfiguration an sudo übergeben werden kann.-E
. Es kann als Variable festgelegt werden, die übergeben werden kann, und entweder Red Hat oder Debian schlagen dies vor.Angenommen, Debian oder Ubuntu (sollte unter Red Hat / SUSE ähnlich sein).
quelle
sux
ist nicht gepflegt (und wurde aus den Debian / Ubuntu-Repositories entfernt): packages.qa.debian.org/s/sux/news/20140101T172633Z.htmlErstens: Verwenden Sie es nicht
xhost +
, es ist eher unsicher (pauschal erlauben / verweigern).Verwenden Sie lieber den X-Cookie-Mechanismus:
Alternativ, wenn Sie
sux
installiert haben, verwenden Sie dies (siehe ehempels Antwort).In beiden Fällen verwendet Benutzer2 das geheime Cookie in .Xauthority, um eine Autorisierung für den X-Server vorzunehmen, und kein anderer Benutzer hat Zugriff darauf.
Anmerkungen:
.Xauthority
, können Sie auchxauth
den Autorisierungsschlüssel extrahieren und kopieren (siehe Randalls Antwort). Wenn Sie mehrere Schlüssel in der.Xauthority
Datei haben, ist dies selektiver. sonst ist es Geschmackssache.quelle
Dies wird das Problem für alle Benutzer beheben:
quelle
Als root:
Wobei Ihr Benutzername Ihr Benutzername ist :)
Dann tun Sie so, wie Ihr Benutzer arbeiten
xclock
sollte, wenn es installiert istquelle
Dies sind nur Hacks:
sleske oben hat, denke ich, die richtige lösung.
quelle
ssh -X
ist eine sehr einfache und elegante Lösung, die nicht von veralteten / nicht mehr gepflegten gtk / kde-Inhalten abhängt (die die Installation weiterer Binärdateien mit SUID-Bit erfordern ...).Ich habe etwas gefunden, das für mich in KDE hervorragend funktioniert
quelle
kde-cli-tools
und nicht in,$PATH
sondern in/usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu
(offensichtlich abhängig von der Architektur).Auf diese Weise erstellt in suse / opensuse: http://www.novell.com/support/kb/doc.php?id=7003743
Ändern Sie einfach /etc/pam.d/su und fügen Sie die Option hinzu (fett):
Dann können Sie mit su wechseln ohne -:
und starte die App grafisch.
quelle
Für GNOME (und ohne Desktop-Umgebung verwende ich es nur mit icewm)
gksu
:quelle