web-dev-qa-db-fra.com

Comment empêcher PolicyKit de demander un mot de passe?

Pendant des années, dans mon fichier sudoers:

scott   ALL=NOPASSWD: ALL

Pour ceux qui ne le savent pas, ceci empêche Sudo et ses amis (gksudo, etc.) de demander un mot de passe. Cependant, au fil des ans, de plus en plus d'éléments qui utilisaient auparavant Sudo ont été remplacés par PolicyKit.

Je recherche une configuration équivalente pour PolicyKit, de telle sorte qu'il ne me demande jamais mon mot de passe.

Pour ceux qui n'aiment pas ma demande, laissez-moi vous dire ceci: je comprends les raisons de la configuration par défaut, et elles sont saines. Je comprends également les risques inhérents à la configuration que je souhaite effectuer. Néanmoins, c'est la façon dont je veux configurer mon système. Ceux qui ne comprennent pas bien ce qui précède ne devraient pas tenter ce que je tente.

23
Scott Severance

Vous pouvez tromper PolicyKit et supprimer TOUTES les invites de mot de passe en remplaçant l'action par un caractère générique.

CLAUSE DE NON-RESPONSABILITÉ: ce qui suit supprimera TOUTES les invites de mot de passe pour toutes les personnes appartenant au groupe admin, à l'exception de l'écran de connexion. C'est extrêmement dangereux et ne devrait JAMAIS être mis en œuvre car il y a de fortes chances que vous interrompiez votre système! !

Ne dites pas que vous n'étiez pas prévenu!

REMARQUE: Si vous utilisez la version 12.04 ou ultérieure, remplacez "admin" par "sudo"!

Remplacez "nom d'utilisateur" par votre nom d'utilisateur actuel:

usermod -aG admin username

Basculer vers la racine:

Sudo -i

Créer une nouvelle politique:

gedit /var/lib/polkit-1/localauthority/50-local.d/disable-passwords.pkla

Ajouter ce qui suit:

[Do anything you want]
Identity=unix-group:admin
Action=*
ResultActive=yes

Sauvegarder et quitter. Ensuite, essayez quelque chose qui nécessite généralement un mot de passe. :)

REMARQUE: Peu importe ce que vous utilisez comme nom de fichier .pkla. Vous pouvez le nommer comme vous voulez.

Enfin, c’est la SEULE politique dont vous aurez besoin en ce qui concerne la suppression des invites de mot de passe car, là encore, elle le fait globalement.

14
user55572

Vous pouvez créer un .pkla, que ce soit un tout-en-un ou un couple basé sur des groupes d'action, n'a pas d'importance.

Pour référence, regardez dans/usr/share/polkit-1/actions, ouvrez ceux qui sont intéressés dans un éditeur de texte pour obtenir les identifiants d’action.

En ce qui concerne .pkla ou 2, je trouve que le meilleur endroit pour les mettre est ici, il sera protégé de toute mise à jour.

/var/lib/polkit-1/localauthority/50-local.d

Ainsi, par exemple, voici mon principal, nommé package-manager.pkla, mais il va un peu plus loin que la simple politique de gestion des paquets.

[Install package file]
Identity=unix-group:admin
Action=org.debian.apt.install-file;org.debian.apt.update-cache;org.debian.apt.install-or-remove-packages;org.debian.apt.upgrade-packages
ResultActive=yes

[Install package synaptic]
Identity=unix-group:admin
Action=com.ubuntu.pkexec.synaptic
ResultActive=yes

[Change add repo]
Identity=unix-group:admin
Action=com.ubuntu.softwareproperties.applychanges;org.debian.apt.change-repository
ResultActive=yes

[usbcreator format]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.format
ResultActive=yes

[Install bootloader]
Identity=unix-group:admin
Action=com.ubuntu.usbcreator.bootloader
ResultActive=yes

[Add users]
Identity=unix-group:admin
Action=org.freedesktop.accounts.user-administration
ResultActive=yes

Notez qu'à partir de 12.04, le groupe utilisé pour l'utilisateur "admin" devrait être remplacé par Sudo, c'est-à-dire.

Identity=unix-group:Sudo

Notez également que les actions peuvent être enchaînées par section, sans espace, utilisez a; entre id

7
doug

Une option, si vous savez ce que vous faites, consiste à désactiver complètement le kit de stratégie.

Sudo apt-get remove libpolkit-agent-1-0

0
viksit