Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/01/2018, à 01:34

Peshigome

force pkexec instead of gksudo

Bonjour,
j'aimerai forcer l'utilisation de pkexec à la place de gksudo (et gksu), mais de manière automatique.
que tout programme voulant s'exécuter avec gksudo se lance automatique avec pkexec à la place
(une sorte de redirection de commande, je ne sais pas si c'est techniquement possible ^^")


Xubuntu 18.04

Hors ligne

#2 Le 18/01/2018, à 23:22

J5012

Re : force pkexec instead of gksudo

toutes les commandes ne sont pas compatibles avec pkexec qui utilise le systeme policy intégré dans le systeme ... alors que gksu(do) verifie juste que l'utilisateur a un acces sudoers ...

Hors ligne

#3 Le 19/01/2018, à 00:01

Peshigome

Re : force pkexec instead of gksudo

J5012 a écrit :

toutes les commandes ne sont pas compatibles avec pkexec qui utilise le systeme policy intégré dans le systeme ... alors que gksu(do) verifie juste que l'utilisateur a un acces sudoers ...

Oui j'entend bien, mais là n'est pas la question, je n'ai pour le moment aucun programme qui ne marche pas avec pkexec, et il n'est pas question de savoir si c'est bien de le faire, mais de savoir si quelqu'un saurait comment faire... ^^"


Xubuntu 18.04

Hors ligne

#4 Le 19/01/2018, à 11:29

J5012

Re : force pkexec instead of gksudo

tu ne peux pas le faire , justement parce que tu ne peux pas prevoir quelle commande ne marchera pas avec pkexec ...

ta paresse va rendre ton systeme instable ...

ex : synaptic ne fonctionne pas bien avec pkexec ... : de temps en temps il y a un conflit de privileges sur certains fichiers verrouillés par apt ...

Hors ligne

#5 Le 19/01/2018, à 12:00

grandtoubab

Re : force pkexec instead of gksudo

Synaptic est livré en pkexec,

 locate pkexec
/usr/bin/gufw-pkexec
/usr/bin/lightdm-gtk-greeter-settings-pkexec
/usr/bin/pkexec
/usr/bin/synaptic-pkexec
/usr/share/man/man1/pkexec.1.gz
/usr/share/man/man8/lightdm-gtk-greeter-settings-pkexec.8.gz
/usr/share/polkit-1/actions/com.ubuntu.pkexec.gufw.policy
/usr/share/polkit-1/actions/com.ubuntu.pkexec.lightdm-gtk-greeter-settings.policy
/usr/share/polkit-1/actions/com.ubuntu.pkexec.synaptic.policy
/usr/share/polkit-1/actions/org.dpkg.pkexec.update-alternatives.policy
/usr/share/polkit-1/actions/org.freedesktop.pkexec.usbview.policy
/usr/bin/synaptic-pkexec

fonctionne très bien

Donc un simple lanceur avec

Exec=/usr/bin/synaptic-pkexec

fonctionnera

Dernière modification par grandtoubab (Le 19/01/2018, à 12:02)


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....

Hors ligne

#6 Le 19/01/2018, à 12:05

J5012

Re : force pkexec instead of gksudo

oui oui bien sur que ca fonctionne : j'ai juste dit que ca deconne aleatoirement avec synaptic-pkexec mais ca ne le fait jamais avec gksu ...

et en faisant la manipulation de redirection que demande p45m ne fera que bloquer une issue de secours ...

Hors ligne

#7 Le 19/01/2018, à 12:14

grandtoubab

Re : force pkexec instead of gksudo

pour ce qui est des commandes non prévu en pkexec, il faut mettre les mains dans le cambouis et configurer polkit et c'est là que ça se corse comme disait Léon Napo

des exemples existent
https://askubuntu.com/questions/641593/ … sktop-file
https://unix.stackexchange.com/question … ing-pkexec

Dernière modification par grandtoubab (Le 19/01/2018, à 12:15)


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....

Hors ligne

#8 Le 19/01/2018, à 12:43

kholo

Re : force pkexec instead of gksudo

salut,
si tu veux te faire du mal :
tu "shuntes" gksu (et gksudo) en remplaçant les binaires par un script qui lance pkexec...
comme c'est un script tu peux ajouter quelques routines pour, par exemple, valider le niveau de celui qui lance le script...

Hors ligne

#9 Le 19/01/2018, à 12:47

J5012

Re : force pkexec instead of gksudo

il y a aussi la commande pkexec : http://manpages.ubuntu.com/manpages/xen … xec.1.html

edit : une methode non bloquante serait d'utiliser pkexec dans un clic droit commande ...

Dernière modification par J5012 (Le 19/01/2018, à 12:48)

Hors ligne

#10 Le 19/01/2018, à 12:50

grandtoubab

Re : force pkexec instead of gksudo

kholo a écrit :

salut,
si tu veux te faire du mal :
tu "shuntes" gksu (et gksudo) en remplaçant les binaires par un script qui lance pkexec...
comme c'est un script tu peux ajouter quelques routines pour, par exemple, valider le niveau de celui qui lance le script...

et polkit, tu fais comment??? big_smile


Linux tout seul sur HP Pavilion DV7 et Acer Aspire T650, Canon MG3650 en wifi
Debian 11 Bullseye Gnome/Xorg, Gnome/Wayland avec SDDM
https://bidouilledebian.wordpress.com/
ON M'A VU DANS LE VERCORS, SAUTER A L'ELASTIQUE..... J'AI DANS LES BOTTES DES MONTAGNES DE QUESTIONS....

Hors ligne

#11 Le 19/01/2018, à 15:01

Compte anonymisé

Re : force pkexec instead of gksudo

un simple :

alias gksu=pkexec

ne peut pas faire l'affaire ?

#12 Le 19/01/2018, à 15:28

maxire

Re : force pkexec instead of gksudo

Salut,

P45M a écrit :

que tout programme voulant s'exécuter avec gksudo

Déjà il faudrait identifier les programmes forçant l'utilisation de sudo/gksudo, à ma connaissance ils ne sont pas si nombreux que cela, ce sont possiblement les extensions des gestionnaires de fichiers (nautilus, caja, cinnamon...) d'ouverture en mode administrateur et sans doute relativement peu d'autres.

Ce que tu peux faire c'est:

$ cat /usr/local/sbin/gksu
#!/bin/bash
if [ $(which pkexec) ]; then
	pkexec --disable-internal-agent "/usr/bin/gksu" "$@"
else
	/usr/bin/gksu "$@"
fi
$

et

# cat /usr/share/polkit-1/actions/org.gksu.pkexec.policy
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>

  <action id="org.gksu.pkexec.gksu">
    <message>Identification requise pour exécuter gksu</message>
    <icon_name>gksu</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/bin/gksu</annotate>
    <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
  </action>

</policyconfig>

#

C'est tout de même une solution un peu violente!

Note; Solution non valide si les programmes utilisant gksu utilisent un chemin absolu (/usr/bin/gksu) au lieu d'un chemin relatif (gksu)

Dernière modification par maxire (Le 19/01/2018, à 15:35)


Maxire
Archlinux/Mate + Ubuntu 22.04 + Archlinux/Gnome sur poste de travail

Hors ligne