Lire ces questions et réponses:
m'a apporté un autre qui va créer des problèmes pour les nouveaux utilisateurs de cette commande:
- Comment configurer
pkexec
pour une utilisation facile?
Par exemple, lorsque vous effectuez les opérations suivantes:
(Ouverture d'un fichier dans le terminal)
pkexec nano /etc/mysql/my.cnf
(Ouverture d'un fichier dans l'interface graphique)
pkexec gedit /etc/mysql/my.cnf
Le dernier obtient l'erreur suivante:
pkexec must be setuid root
Maintenant, cela m'a amené les questions suivantes:
Comment configurer
pkexec
pour éviter de l'obtenir? Similaire à commentsudo
/gksu
se comporter lorsque vous faites la même chose (ils ne demandent que le mot de passe).Le cas échéant, comment lui dire de ne pas demander de mot de passe après la première application à une commande (ou d'inclure la première commande si elle est configurable)?
Où enregistrer le fichier de configuration s'il n'est pas encore existant?
Existe-t-il une application graphique pour configurer l'
pkexec
utilisation (Policy Kit)?
la source
Réponses:
Comment configurer
pkexec
pour éviter d'obtenir des erreurs lors de l'exécution des applications GUI?J'ai trouvé deux façons possibles:
Comme vous pouvez le voir, en utilisant ce qui suit:
ne vous obtiendra aucune erreur. Et c'est normal car
man pkexec
c'est très clair en la matière:En conséquence, vous pouvez créer un alias ( permanent ) (c'est le moyen le plus simple):
Ou, (encore) comme
man pkexec
dit:vous pouvez créer un nouveau fichier de stratégie dans
/usr/share/polkit-1/actions
namedcom.ubuntu.pkexec.gedit.policy
avec le code xml suivant dans lequel la chose la plus importante est de définirorg.freedesktop.policykit.exec.allow_gui
une valeur non vide:Comment lui dire de ne pas demander de mot de passe après la première application à une commande?
Pour ces trois balises de réglage:
allow_any
,allow_inactive
et àallow_active
partir du fichier de stratégie, les options suivantes sont disponibles:sudo
, l'autorisation dure quelques minutes.sudo
, l'autorisation dure quelques minutes.Source: Polkit - Structure - Actions
Donc, si vous utilisez l' option auth_admin_keep (ou, le cas échéant, auth_self_keep ),
pkexec
ne demandera plus de mot de passe pendant un certain temps (par défaut, ce temps est défini sur 5 minutes comme je l'ai vérifié). L'inconvénient ici est que cette chose n'est applicable que pour une - la même - commande / application et valable pour tous les utilisateurs (sauf si elle est annulée dans une configuration ultérieure).Où enregistrer le fichier de configuration s'il n'est pas encore existant?
Les fichiers de configuration ou les définitions de polkit peuvent être divisés en deux types:
Les actions sont définies dans des fichiers XML .policy situés dans
/usr/share/polkit-1/actions
. Chaque action est associée à un ensemble d'autorisations par défaut (par exemple, vous devez vous identifier en tant qu'administrateur pour utiliser l'action GParted). Les valeurs par défaut peuvent être annulées, mais l'édition des fichiers d'actions n'est PAS la bonne façon. Le nom de ce fichier de stratégie doit avoir le format suivant:Les règles d'autorisation sont définies dans des fichiers JavaScript .rules. Ils se trouvent à deux endroits: les packages tiers peuvent utiliser
/usr/share/polkit-1/rules.d
(bien que peu ou pas) et/etc/polkit-1/rules.d
sont destinés à la configuration locale. Les fichiers .rules désignent un sous-ensemble d'utilisateurs, font référence à une (ou plusieurs) des actions spécifiées dans les fichiers d'actions et déterminent avec quelles restrictions ces actions peuvent être effectuées par cet / ces utilisateur (s). À titre d'exemple, un fichier de règles peut remplacer l'exigence par défaut pour tous les utilisateurs de s'authentifier en tant qu'administrateur lors de l'utilisation de GParted, ce qui détermine qu'un utilisateur spécifique n'a pas besoin de le faire. Ou n'est pas autorisé à utiliser GParted du tout.Source: Polkit - Structure
Existe-t-il une application graphique pour configurer l'
pkexec
utilisation?D'après ce que je sais, jusqu'à présent (18.01.2014) n'existe pas quelque chose comme ça. Si à l'avenir je trouve quelque chose, je n'oublierai pas non plus de mettre à jour cette réponse.
la source
doublecmd
avec ROOT PRIVELEGES, car j'avais besoin d'exporter des environnements avecDISPLAY & XAUTHORITY
!! Juste de petites questions: y a-t-il une différence dans la politique d'écriture ou dans l'exécution d'un programme avec commande commepkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY doublecmd
tout le temps?pkexec
deviendra aussi dangereux quegksudo
s'il était exécuté via un tel alias? peut être, au lieu d'un alias, ce pourrait être un script avec des privilèges root, pourrait être plus sûr?auth_admin_keep
ne semble pas fonctionner. Si je démarre synaptique depuis gui (qui est équivalent àpkexec synaptic
), il demande un mot de passe à chaque fois. Une idée pourquoi?En plus de la réponse de Radu: je n'utiliserais pas l'alias pkexec, mais gksudo .
Pourquoi? Vous n'avez pas besoin de réécrire votre script.
J'utilise la configuration suivante:
cd /usr/local/bin
sudo gedit gksudo
(créer un nouveau fichier appelé "gksudo"écrire le contenu suivant:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY $@
(n'oubliez pas le
$@
à la fin. C'est pour rediriger tous les paramètres)sauvegarder et quitter
chmod 755 gksudo
Pour des raisons de documentation, j'écrirai ce que j'ai essayé et qui n'a pas fonctionné:
~/.bash_aliases
ln -s pkexec [...]
)la source