logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#26 15-08-2019 21:15:09

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : (résolut) Lancer une application graphique en root sous Buster

Debian Alain a écrit :

al1 a écrit :

dans lightdm je n'ai pas de chois autre que openbox session et xsession...



essaies donc "xsession"  tu devrai alors être sous x .

essaies dans ce cas ou dans l'autre aussi (wayland) de taper :

echo $XDG_SESSION_TYPE


tu verra de suite si tu es sous x ou sous wayland .


Pas la peine, je sais que ce n'est pas une session wayland, et donc que
c'est une session Xorg car les méthodes que j'ai données ne
fonctionnent pas dans wayland.

Hors ligne

#27 15-08-2019 21:25:25

Debian Alain
Membre
Lieu : Bretagne
Distrib. : sid (unstable) / bullseye (stable)
Noyau : Linux sid 6.4.0-3-amd64
(G)UI : Gnome X.org (X11) / GDM3
Inscription : 11-03-2017
Site Web

Re : (résolut) Lancer une application graphique en root sous Buster

ok . merci . bonsoir à tous .

Hors ligne

#28 15-08-2019 21:39:51

al1
Membre
Lieu : sud france
Distrib. : Debian bookworm
Noyau : Linux 6.1.0-23-amd64
(G)UI : XFCE
Inscription : 15-06-2018

Re : (résolut) Lancer une application graphique en root sous Buster

J'ai ouvert en xsession, edité avec nano /etc/pam.d/su-l,  tout fonctionne. C'est magique! Merci à tous!

Hors ligne

#29 15-08-2019 21:59:39

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : (résolut) Lancer une application graphique en root sous Buster

al1 a écrit :

J'ai ouvert en xsession, edité avec nano /etc/pam.d/su-l,  tout fonctionne. C'est magique! Merci à tous!


Attention cependant, cela comporte des risques. Ce n'est pas pour rien que ces
possibilités on été restreintes. Je préconise plutôt la méthode 4 car on ne
donne qu'un accès temporaire, au moment où on en a besoin.
On peut même faire une fonction à mettre dans le .bashrc :


synaptic () {
    xhost si:localuser:root
    su -l --whitelist-environment XAUTHORITY,DISPLAY -c synaptic "$@"
    xhost -si:localuser:root
}
 


Je pense que le « export XAUTHORITY=$HOME/.Xauthority » est inutile
car il est réalisé par la session Xorg.

Bref, c'est cette fonction qui fera le travail et qui lancera
la vraie commande synaptic quand tu taperas synaptic dans un shell
utilisateur.

Dernière modification par enicar (15-08-2019 22:00:13)

Hors ligne

#30 16-08-2019 15:34:17

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : (résolut) Lancer une application graphique en root sous Buster

J'ai trouvé une autre solution en utilisant policykit. Synaptic n'utilise pas policykit
mais ce n'est pas grave, en lançant synaptic avec pkexec, on peut obtenir les
bons droits et on n'a plus besoin d'utiliser « su -l ».

Cette solution demande pas mal de manipulations mais elle est très intéressante.
D'abord on va créer le fichier :


/usr/share/polkit-1/actions/org.freedesktop.pkexec.synaptic.policy
 


Dans celui-ci on écrit les lignes suivantes :


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
<policyconfig>

  <action id="org.freedesktop.pkexec.synaptic">
    <message>Authentication is required to run the Synaptic Packages Manager</message>
    <icon_name>synaptic</icon_name>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/synaptic</annotate>
    <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
  </action>
</policyconfig>
 


Remarque : il faut être root, pour créer ce fichier.

Maintenant, il faut installer un agent pour être authentifié par policykit.
L'agent par défaut qui utilise le tty ne fonctionne pas. Je propose
d'installer « lxpolkit » :


apt install lxpolkit
 


C'est un tout petit bout de lxde, mais vraiment pas grand chose.

Ensuite soit on redémarre la session, en quittant openbox et
se reloggant, soit on peut lancer « lxpolkit » depuis un terminal :


lxpolkit &
 


Le « & », c'est pour le lancer en tâche de fond, comme ça on garde la main sur le shell,
pas besoin d'ouvrir un nouveau terminal.

Ensuite on peut lancer synaptic comme suit :


pkexec synaptic
 


Ça va ouvrir une boîte de dialogue demandant le mot de passe root.
Une fois l'authentification effectuée, synaptic se lancera.
Cette méthode est plus sûre que celles basées sur « su -l ».
Il faut savoir que permettre au application graphique de tourner
avec les droits root à toujours poser des problèmes de sécurité.

Mais, il existe des alternatives à synaptic. On peut utiliser « packagekit »
qui nécessite aussi l'utilisation d'un agent d'authentification pour policykit.
L'avantage de packagekit, c'est qu'il ne tourne pas en tant root, mais il a
été conçu de telle façon qu'il communique (via dbus) avec des processus
qui ont les droits root.
L'autre gestionnaire de paquets graphique qui utilise policykit, c'est muon.
Ça vaudrait le coup de regarder ce qu'il vaut.
En résumé, il faut éviter autant que possible de lancer des applications
graphique avec les droits root, bien que j'ai donné trois solutions qui permettent
de le faire. Donc vous avez vu que c'est possible, comment le faire, mais ne le
faites pas tongue

Hors ligne

#31 16-08-2019 18:18:36

al1
Membre
Lieu : sud france
Distrib. : Debian bookworm
Noyau : Linux 6.1.0-23-amd64
(G)UI : XFCE
Inscription : 15-06-2018

Re : (résolut) Lancer une application graphique en root sous Buster

Bonsoir,

Merci pour cette nouvelle idée. Je teste ce soir. Je ferais un retour;

Merci encore.

Hors ligne

#32 16-08-2019 18:21:37

enicar
Membre
Lieu : pas ici
Distrib. : sid
Noyau : Linux 6.5.3
(G)UI : openbox
Inscription : 26-08-2010

Re : (résolut) Lancer une application graphique en root sous Buster

al1 a écrit :

Merci pour cette nouvelle idée


En réalité, il y a trois idées :
1) faire la manipulation pour lancer synaptic avec pkexec
2) tester packagekit
3) tester muon

Hors ligne

Pied de page des forums