#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
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
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???
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,
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