Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
21.10.2018, 19:40:22

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
Statistiken
  • Beiträge insgesamt: 553233
  • Themen insgesamt: 44648
  • Heute online: 613
  • Am meisten online: 680
  • (27.03.2018, 20:17:41)
Benutzer Online

Autor Thema:  Programm als anderer User starten  (Gelesen 1420 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Re: Programm als anderer User starten
« Antwort #15 am: 13.06.2018, 20:10:05 »
Das PW von root und ln sind in diesem Fall identisch. Da die Mails von ln2 gelesen werden können, müßte eigentlich auch das PW von ln2 abgefragt werden. Macht einfach mehr Sinn...
Ich wage kaum zu widersprechen. Und über den Sinn will ich auch nicht nachdenken und erst recht keine Mails lesen.
Nur kenne ich es so, dass beim (gk)sudo-Mechanismus, der jetzt von "pkexec" abgelöst wurde, immer nach dem Passwort des aufrufenden Benutzers gefragt wird und so der Befehl "als root" ausgeführt wird.

Dagegen wechselt "su" (substitute user) den aktuellen Benutzer mit Passwort des Zielbenutzers.
Ob das noch so funktioniert, weiß ich nicht, schon lange nicht mehr verwendet.

Re: Programm als anderer User starten
« Antwort #16 am: 14.06.2018, 09:43:37 »
Da die Mails von ln2 gelesen werden können, müßte eigentlich auch das PW von ln2 abgefragt werden.
Wenn du das so haben möchtest, dann wechsele mit
su benutzernameden Benutzer. Nach Eingabe dessen Passwortes brauchst du in diesem Fall auch einfach nur "thunderbird" aufzurufen.

Zitat
unable to create file '/home/ln2/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly
Den Fehler kann ich hier nicht nachvollziehen. Sind die Rechte richtig gesetzt?

Re: Programm als anderer User starten
« Antwort #17 am: 14.06.2018, 11:59:47 »
«su benutzername» finde ich nicht ausreichend. Danach haben bei mir noch vier Umgebungsvariablen die Werte des aufrufenden Benutzers. Mit folgendem Aufruf nur noch eine
su --login ln2
Schau mal dieses Thema bei den Kollegen vom forum.ubuntuusers.de: grafisches Programm in einem anderen Benutzerkontext starten

Re: Programm als anderer User starten
« Antwort #18 am: 14.06.2018, 13:57:53 »
Hi :)
es kann doch nicht so schwer sein die zeile
genau so
pkexec --user $USER thunderbird --display=:0ins terminal zu kopieren

damit vor dem start eine pw abfrage kommt..

Re: Programm als anderer User starten
« Antwort #19 am: 14.06.2018, 17:48:09 »
Hi ethron,

das ist auch nicht schwer. Ich habe das natürlich auch gestern schon versucht. Ergebnis:

Zitat
ln@wasserturm:/DATA/ln$ pkexec --user $USER thunderbird --display=:0

(thunderbird:6839): libunity-CRITICAL **: 17:38:12.655: unity-launcher.vala:157: Unable to connect to session bus: Verbindung ist gescheitert: Verbindungsaufbau abgelehnt

** (thunderbird:6839): WARNING **: 17:38:12.679: unable to connect to session bus: Verbindung ist gescheitert: Verbindungsaufbau abgelehnt

(thunderbird:6839): GConf-WARNING **: 17:38:22.054: Client failed to connect to the D-BUS daemon:
Failed to connect to socket /tmp/dbus-SNW0CWM2Sp: Verbindungsaufbau abgelehnt

(thunderbird:6839): LIBDBUSMENU-GLIB-WARNING **: 17:38:22.056: Unable to get session bus: Verbindung ist gescheitert: Verbindungsaufbau abgelehnt

(thunderbird:6839): dconf-CRITICAL **: 17:38:22.312: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.

(thunderbird:6839): dconf-CRITICAL **: 17:38:22.312: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.

(thunderbird:6839): dconf-CRITICAL **: 17:38:22.314: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.

(thunderbird:6839): dconf-CRITICAL **: 17:38:22.314: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.

(thunderbird:6839): dconf-CRITICAL **: 17:38:22.730: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.

(thunderbird:6839): dconf-CRITICAL **: 17:38:22.730: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.

(thunderbird:6839): dconf-CRITICAL **: 17:38:23.257: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.

(thunderbird:6839): dconf-CRITICAL **: 17:38:23.257: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.

(thunderbird:6839): dconf-CRITICAL **: 17:38:23.342: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.

(thunderbird:6839): dconf-CRITICAL **: 17:38:23.342: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.

(thunderbird:6839): dconf-CRITICAL **: 17:38:23.801: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.

(thunderbird:6839): dconf-CRITICAL **: 17:38:23.801: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.

(thunderbird:6839): dconf-CRITICAL **: 17:38:25.322: unable to create file '/home/ln/.cache/dconf/user': Keine Berechtigung.  dconf will not work properly.
ln@wasserturm:/DATA/ln$ ^C
ln@wasserturm:/DATA/ln$

Es wird zwar dann ein PW abgefragt, aber nicht das von ln2 und es startet auch ein Thunderbird, aber ebenfalls das falsche. Außerdem funktioniert selbst das hier nur im Terminal. Als Befehl in der Befehlszeile des Desktop-Icons tut sich gar nichts....

Es ist halt schade, denn egal welche Distri oder welche Version (kdesu oder auch gksu), das hat immer völlig problemlos geklappt.

Re: Programm als anderer User starten
« Antwort #20 am: 14.06.2018, 18:30:46 »
Danke {°-°},

ein Stück bin ich weiter gekommen. Deinen Vorschlag mit "su --login ln2" in den anderen user zu wechseln habe ich aufgenommen und auch noch gleich den Programmaufruf mit eingefügt: su --login ln2 thunderbird
Damit konnte ich auf der Konsole schon mal das Programm als ln2 starten. Auch mit dem PW von ln2.

Die Fehlermeldung kam aber immer noch. Deshalb habe ich als Systemverwalter über Nemo den Eigentümer der Datei '/home/ln2/.cache/dconf/user': von root nach ln2 geändert. Ergebnis: keine Fehlermeldung mehr.
Die Konsole kann ich schliessen und das Programm bleibt offen.

Eine gute Krücke bis ich das Problem mit dem Start über Desktop-Icon gelöst habe.


PS:  Auch der Link zum Ubuntu-Forum war sehr aufschlussreich....


« Letzte Änderung: 14.06.2018, 18:34:58 von Kutscher58 »

Re: Programm als anderer User starten
« Antwort #21 am: 15.06.2018, 11:09:11 »
Off-Topic:
es kann doch nicht so schwer sein die zeile
genau so
pkexec --user $USER thunderbird --display=:0ins terminal zu kopieren
Schwierigkeiten wird es ihm wahrscheinlich nicht bereiten, aber wozu sollte er das tun? Liest du, worauf du antwortest?

Re: Programm als anderer User starten
« Antwort #22 am: 15.06.2018, 15:24:26 »
Hi :)
die frage gebe ich zurück..
die ursprungsthematik war.. pw abfrage vor start von tb...  von tb eines anderen users starten, stand da nix...

Re: Programm als anderer User starten
« Antwort #23 am: 15.06.2018, 16:31:56 »
Off-Topic:
die ursprungsthematik war.. pw abfrage vor start von tb...  von tb eines anderen users starten, stand da nix...
Obwohl das aus den Antworten und eigentlich auch schon aus der eigentlichen Fragestellung zu erkennen sein sollte, steht es für die jenigen, die das nicht erkennen können, doch ganz groß als Betreff oben drüber:
Zitat
Programm als anderer User starten

Re: Programm als anderer User starten
« Antwort #24 am: 15.06.2018, 16:56:11 »
Vielleicht testest Du mal die Displayvariable des aufrufenden Benutzers:
pkexec --user <benutzername> thunderbird --display=$DISPLAY<benutzername> muss natürlich ersetzt werden.

Das ist aber nur ein lauwarmer Schuss ins Blaue, ich benutze keine "sudo-Distri" und kann es nicht selbst testen.

Re: Programm als anderer User starten
« Antwort #25 am: 15.06.2018, 17:26:27 »
Ich weiß nicht wozu das Theater mit Linux-Usern hier gut sein soll!

Mein thunderbird meldet sich bei meinen Mailservern mit den für die Serber nötigen Identifikationen und holt die dort liegenen Mails und news ab. Datei erfährt natürlich kein Server mit welchen IDs ich lokal auf meinem Mint angemelet bin. Wozu auch? Geht keinen was an.

thunderbird lokal ist das Programm.
thunderbird bei allen mailservern und beim usenet-Server sind andere Benutzer als hier lokal. 
Mozilla seinerseits meldet sich bei meinem http-Provider mit meiner http-Identifikation - die ebenfalls nichts mit meiner Mint-Identifikation zu tun hat. Bei  verschiedenen WEB-Seiten sind andere Identitäten zuständig. Nichts von dem hat irgendetwas mit meiner Identität zu tun mit der ich auf meinen lokalten Systemen arbeite.

Keiner der hier vorhandenen Computern weiß von den anderen - es sei denn ich nutze VPN - das im Touter eingehend wie alle anderen Duenst schlicht blockiert wird. Alle meine Benutzer dürfen im Internet tun was sie wollen - Kinder und sonstige schwachsinnige gibts nicht.

Meine Benutzer dürfen Onlinebanking mit ihren Accounts bei unseren Banken. Sie haven die nötigen IDs und Passworte im sich zu indentifizieren. Sie nutzen ihre eigenen Identitäten um sich bei ihren email- und usentkonten zu identifizieren - die selbstredent nichts mit ighren Linux-Accounts zu tun haben.

Mein Router wehrt alle eingehenden Anfragen ab - derzeit ausnahmslos; wenn nötig werden mal bestimmte Ports auf bestimmte Ports eines bestimmten Comüuter dürchgelassen - aber das ist eine andere Geschichte, Von Haus aus darf hier jeder alles - und von draußen keiner irgendwas. Wie gesagt: Ausnahmen bestätigen die Regel.

D as root-Passwort kenne nur ich, Jeder Account hat seine eigene ID und sein eigenes Passwort. 

Re: Programm als anderer User starten
« Antwort #26 am: 15.06.2018, 18:32:11 »
Das ist aber nur ein lauwarmer Schuss ins Blaue, ich benutze keine "sudo-Distri" und kann es nicht selbst testen.
Das hat nix mit "sudo" zu tun, im Gegenteil, das Polkit ist eine Alternative um eben "sudo" vermeiden zu können.

Allerdings funktioniert das sowieso nicht.
1. Die Eingabe des Passwords eines anderen Users verstößt gegen alle Sicherheitsregeln, weil nicht bekannt ist, ob dem anderen User das überhaupt bewusst ist und ob er das erlaubt hat. Man muss so etwas aus Linux-Sicht und mit Blick auf das größere Gesamte betrachten.
2. Das polkit sieht bei Verwendung von pkexec vor, sich mit "auth-self" oder "auth-admin" zu legitimieren, "auth-anderer-User" ist gar nicht vorgesehen.
3. Es bedarf einer Polkit-Rule für thunderbird, die es ermöglicht grafische Anwendungen unter einem anderen User zu starten
3. Da Thunderbird-Profildaten im Regelfall ungeschützt sind, kann das entsprechende Profil sowieso jeder öffnen, wenn er den Pfad in seine ini einträgt und die home-dirs nicht auf den entsprechenden User beschränkt ist. Insofern ist eine PWD-Abfrage sowieso totaler kokolores.

Mit anderen Worten, wenn entweder jemand schnüffeln will oder auch nur sein eigenes TB-Profil verbergen will, ist imho mehr notwendig, als hier gefragt wurde.Der beste Weg um Daten zu verbergen oder vor anderen Zugriffen zu schützen ist es, getrennte User-Konten anzulegen und die Home-Dirs vor unberechtigtem Öffnen durch andere User zu sperren.... so dass sich jeder User mit seinem PWD im Linux anmeldet und keine Zugriffe auf Daten anderer User hat.

Re: Programm als anderer User starten
« Antwort #27 am: 16.06.2018, 00:26:49 »
Die Eingabe des Passwords eines anderen Users verstößt gegen alle Sicherheitsregeln, weil nicht bekannt ist, ob dem anderen User das überhaupt bewusst ist und ob er das erlaubt hat.
Es funktioniert aber. Ob das nun gegen "alle Sicherheitsregeln" verstößt, dürfte ein anderes Thema sein. Die Frage würde dann allerdings lauten, warum es mit "su" ("substitute user identity", "switch user" oder auch "set user") überhaupt ermöglicht wird.

Zitat
Es bedarf einer Polkit-Rule für thunderbird, die es ermöglicht grafische Anwendungen unter einem anderen User zu starten
Nein. Anscheinend hast du die Antworten hier nicht gelesen oder, sorry, nicht verstanden.

Zitat
Da Thunderbird-Profildaten im Regelfall ungeschützt sind, kann das entsprechende Profil sowieso jeder öffnen, wenn er den Pfad in seine ini einträgt und die home-dirs nicht auf den entsprechenden User beschränkt ist. Insofern ist eine PWD-Abfrage sowieso totaler kokolores.
Da muss ich dir leider auch widersprechen. Beispiel:
In einer Arbeitsumgebung habe ich als Firmen-Account Thunderbird geöffnet mit dem Benutzer "Firma", gleichzeitig habe ich Thunderbird geöffnet als Benutzer XY. Schließe ich den Thunderbird des Users XY, können andere ohne dessen Passwort nicht auf diesen Account zugreifen.

Mit anderen Worten: Wenn jemand schnüffeln möchte, dann gibt tatsächlich es eine Menge anderer Möglichkeiten, da gebe ich dir vollkommen recht. Allerdings war hier zu keiner Zeit die Rede davon, irgendwelche Schnüffeleien zu verhindern. Da dürften sich andere Wege finden lassen.

@Nessie
pkexec --user <benutzername> thunderbird --display=$DISPLAYFunktioniert, bei mit in der VM muss ich allerdings "xhost +" vorweg setzen. Ich probier's mal weiter...
« Letzte Änderung: 16.06.2018, 09:43:34 von tml »

Re: Programm als anderer User starten
« Antwort #28 am: 16.06.2018, 20:50:10 »
Es funktioniert aber.
Nein, tuts nicht, und darüber kann sich auch Herr "tml" mit offensichtlicher Ahnungslosigkeit nicht drüber hinwegsetzen.

Zitat
Zitat
Es bedarf einer Polkit-Rule für thunderbird, die es ermöglicht grafische Anwendungen unter einem anderen User zu starten
Nein. Anscheinend hast du die Antworten hier nicht gelesen oder, sorry, nicht verstanden.
Na, das ist ja mal ein Statement.... grotesker gehts wirklich nicht... ignoriert es doch die klitzekleine Nebensächlichkeit, dass das Polkit selber sagt, dass es das nicht tut. Und ganz nebenbei verzichtet dieses Statement auch noch auf jeglichen Hauch einer Erklärung, die das "Nein" fundiert begründet....  deshalb mal eine Anregung zum Nachdenken.... und vielleicht zur Selbstreflektion: https://zitatezumnachdenken.com/charles-bukowski/8357

Zitat:
https://www.freedesktop.org/software/polkit/docs/0.105/pkexec.1.html
"As a result, pkexec will not allow you to run X11 applications as another user since the $DISPLAY and $XAUTHORITY environment variables are not set. These two variables will be retained if the org.freedesktop.policykit.exec.allow_gui annotation on an action is set to a nonempty value;"

Hier empfehle ich, "will not allow" einfach mal mit einem Überetzungsprogramm zu füttern.. .. aber selbstverständlich sind mal wieder alle anderen doof. Also, auch wenn das Zitat für Dich "haben andere nicht verstanden" bedeutet, ist es trotzdemk Fakt, das es mit pkexec nicht direkt (!) möglich ist,  eine GUI-App ohne eine Policy zu starten

Zitat
pkexec --user <benutzername> thunderbird --display=$DISPLAY
Gerade das ist mal wieder äusserst intelligent und zeigt das tiefgehende Verständnis... ignoriert es doch auch hier so eine klitzekleine Nebensächlichkeit, wie den Umstand, dass der Thunderbird-Parameter "--display=$DISPLAY" überhaupt nix mit einer X11-Berechtigung zu tun hat, die hingegegen das Polkit ausdrücklich beachtet und dadurch Sicherheitsrisiken ausschaltet.  Upps... da ist ja noch was....  wenn man sich die Commandline-Parameter von pkexec anschaut (das geht mit "man pkexec"), dann stellt man verblüfft fest, dass pkexec weder "display" noch "xauthority" kennt.

Und ja, man kann X11-Authority auch ohne eine Policy an ein anderes Environment übergeben, damit eine GUI-App mit anderem User gestartet werden kann. Dafür gibt es das kleine Programm "env", welches via pkexec mit dem anderen User gestartet wird. Und "env" kann wiederum nachgeschaltet ein weiteres Programm  starten, was dann in diesem neuen (!) Envionment als GUI-App läuft.

Der Aufruf sähe dann wie die 2 folgenden Beispiele aus:
$ pkexec --user dummyuser env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/firefox/firefox
$ pkexec --user dummyuser env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY $(which geany)

Nur "Mir" kocht wieder ein eigenes Süppchen, weil es selbst mit Policy nicht sauber geht, da funktioniert nur diese Variante:
$ xhost +si:localuser:dummyuser;pkexec --user dummyuser /usr/bin/firefox
und ohne Policy nur über "env"
$ xhost +si:localuser:dummyuser;pkexec --user dummyuser env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY  /usr/bin/firefox
Also erzähl mir bitte nicht, was ich verstanden habe, und was nicht.

Zitat
Da Thunderbird-Profildaten im Regelfall ungeschützt sind, kann das entsprechende Profil sowieso jeder öffnen, wenn er den Pfad in seine ini einträgt und die home-dirs nicht auf den entsprechenden User beschränkt ist. Insofern ist eine PWD-Abfrage sowieso totaler kokolores.
Da muss ich dir leider auch widersprechen.
Ja, ist klar, und wieder mit einer völlig absurden Begründung. Es ist absolut und komplett irrelevant, unter welcher UserID und mit welcher Berechtigung das Programm Thunderbird selber gestartet wird. Das hat allenfalls aus einer Laienperspektive eine Bedeutung.  Ich kann mit einer UID (unter der Thunderbird läuft) jedes Profil anderer User öffnen, wenn ich auf das Profildir einen Lese-Zugriff habe. Wenn Du das nicht kannst oder dir nicht vorstellen kannst, dann hat das wahrlich nix damit zu tun, dass es nicht geht. Maßgeblich ist nicht der User, mit dem Thunderbird gestartet wird, sondern ganz allein die Rechte auf das Profildir. Und wenn ich das fremde Profildir mit "ls" listen kann, oder mit midnight-commander öffnen kann, kann ich auch Thunderbird mit diesem Profil starten.

Ich bin raus... mach einfach ohne mich weiter... mir ist das zu lächerlich auf solcher Ebene zu diskutieren.... mach erst mal Deine Hausaufgaben....

Re: Programm als anderer User starten
« Antwort #29 am: 16.06.2018, 22:51:50 »
Off-Topic:
Muss den immer gleich bei Meinungsverschiedenheiten so scharf geschossen werden?
Es geht hier doch nicht um die Weltmeisterschaft der grünen Männchen.
Wenn die Diskussion ideologisch und polemisch wird und mit persönlichen Angriffen und Herabsetzungen garniert ist, disqualifiziert man sich mit so einem Abgang doch nur selbst und von (vielleicht vorhandenen) sachlichen Argumenten kommt beim Leser nichts mehr an.

Eigentlich schade, denn das Thema "Rechte bei Linux" ist derzeit offenbar ein akutes und schon immer schwer verständliches Problemfeld.
Das ist jedenfalls mein Eindruck.