erlug
[Top] [All Lists]

Re: [Erlug] DBus

To: ERlug - Lista Pubblica <erlug@xxxxxxxxxxxxxx>
Subject: Re: [Erlug] DBus
From: Enrico Zini <enrico@xxxxxxxxxxxxxx>
Date: Fri, 27 Jul 2012 12:13:05 +0200
On Fri, Jul 27, 2012 at 11:36:04AM +0200, Fernando Santagata wrote:

> c'e` nessuno che sappia se sia possibile accedere al session bus del DBus
> di un user da processi che non girano nella sessione X corrente, ma
> appartenenti all'utente che ha generato la sessione?
> 
> Si`, sono cosciente delle implicazioni che questo ha sulla sicurezza del
> sistema e sono anche cosciente del fatto che probabilmente e` questo il
> motivo per cui non trovo info sull'argomento, a parte delle discussioni su
> un fantomatico "user bus", mai implementato :-)

Problemi di sicurezza? No:

  $ tr '\0' '\n' < /proc/`pgrep nm-applet`/environ |grep 
DBUS_SESSION_BUS_ADDRESS
  (se non c'è nm-applet, va bene qualunque altro processo nella sessione X)

o anche solo:

  $ export $(grep -z DBUS_SESSION_BUS_ADDRESS /proc/`pgrep nm-applet`/environ)

Nel senso, se giri coi permessi dell'utente, non è un problema tirar
fuori le informazioni necessarie a collegarti al bus di sessione.
Però c'è un modo migliore:

  source ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-${DISPLAY#:}

Caveat: non ho trovato documentazione specifica, ma ho messo assieme
questa roba da link tipo:

  http://ubuntuforums.org/archive/index.php/t-1147321.html
  http://stackoverflow.com/questions/10374520/gsettings-with-cron

Sarebbe carino trovare tipo una FAQ di dbus che dice che sto metodo è
supportato, è quello giusto, e va anche con la versione di dbus che esce
10 minuti dopo che hai messo i tuoi nuovi script in produzione.


Ciao,

Enrico

-- 
GPG key: 4096R/E7AD5568 2009-05-08 Enrico Zini <enrico@xxxxxxxxxxxxxx>

Attachment: signature.asc
Description: Digital signature

<Prev in Thread] Current Thread [Next in Thread>