Se donner certains droits d'admin sans mots de passe avec Linux Mint (ou Ubuntu, et probablement Debian aussi)
J'ai la flemme de taper mon mot de passe dans le Gestionnaire de Mise à Jour et je viens de passer un petit moment à naviguer au milieu d'informations obsolètes ou de mauvaises pratiques. Entre les informations qui datent de 2011 et les gens qui conseillent d'éditer des fichiers de configuration dans /var/lib
, c'était pas facile.
Le pourquoi du comment
Donc, je vais faire un petit résumé de ce qui me semble être la bonne marche à suivre pour avoir des droits d'admin sans mot de passe dans l'interface graphique :
- On fait les choses dans les fichiers de configuration prévus pour être édités par les utilisateurs et les utilisatrices et on ne touche pas aux fichiers qui sont installés par les paquets de la distribution
- On se contente de se donner les droits d'admin sur les actions les plus précises possibles, donc adios
%adm ALL=(ALL) NOPASSWD:ALL
Apparemment, le logiciel qui gère ça c'est PolicyKit. Qui définit certaines actions possibles et permet de dire qui a le droit, ou pas, de faire telle action avec ou sans demande de mot de passe.
Malheureusement pour moi, la meilleure source d'information que j'ai trouvée à ce propos, c'est le wiki de Archlinux qui explique comment faire avec la toute dernière version et ce n'est pas comme ça que font Ubuntu et ses dérivées.
En allant voir dans le dossier /etc/polkit-1/
on voit qu'il contient des dossiers localauthority
et localauthority.conf.d
donc j'ai orienté ma recherche en ajoutant ces mots clés et j'ai trouvé une (vieille) réponse sur AskUbuntu qui donne une information succincte et conseille de lire man pklocalauthority
pour plus de détails, ce que je me suis empressée de faire.
La solution
D'abord, il faut trouver pour quelle action on est en train de nous demander un mot de passe. C'est assez facile puisqu'il y a un bouton « Afficher les détails » sur la fenêtre de saisie et que le nom de l'action s'affiche quand on clique dessus. Ici, c'est com.ubuntu.pkexec.synaptic
.
Maintenant qu'on a l'action, il faut créer un fichier dans le dossier /etc/polkit-1/localauthority/50-local.d/
qui définira que tel groupe d'utilisateur est autorisé pour effectuer l'action en question. On peut l'appeler comme on veut, il faut juste que l'extension du fichier soit .pkla
Au final, le fichier ressemble à ça :
[Allow Passwordless Upgrades]
Identity=unix-group:sudo;unix-group:adm
Action=com.ubuntu.pkexec.synaptic
ResultActive=yes
Ce qui figure entre crochet est purement informatif, c'est juste le titre de la section et on peut y mettre ce qu'on veut.
Le champ Identity
contient la manière d'identifier qui est concerné, ici j'ai mis les membres du groupe sudo
et du groupe adm
mais on peut aussi mettre un utilisateur spécifique.
Le champ Action
contient le nom de notre action à autoriser.
Et le champ ResultActive
indique à PolKit comment valider la demande quand elle concerne une session active. C'est là que par défaut Mint est configuré avec l'option auth_admin_keep
qui provoque la demande de mot de passe et qu'on vient remplacer par yes
avec notre fichier de configuration.
Un dernier petit avertissement
Au début de cet article, j'ai parlé de s'accorder le droit d'admin sur l'action la plus spécifique possible pour limiter au maximum ce qu'on a le droit de faire sans mot de passe.
Faire une mise à jour d'un paquet installé, ça va. Malheureusement, l'action com.ubuntu.pkexec.synaptic
est un peu large puisqu'elle permet de démarrer le logiciel Synaptic sans mot de passe et que ce logiciel permet de gérer également l'installation et la suppression de paquets, mais aussi la modification des dépôts. Ce n'est donc pas anodin.
J'ai décidé de configurer mon ordinateur comme ça quand même, parce que j'estime que le rapport bénéfice/risque entre ma flemme et une attaque qui viserai à l'installation d'un paquet malveillant à partir d'une session déjà active est positif en faveur de ma flemme.
#sudo #PolKit #LinuxMint #Mint #Ubuntu #SécuritéInformatique #Informatique #Linux #Synaptic
Les articles de ce blog sont généralement des copies des threads que je peux faire parfois sur mon compte principal @[email protected]. N'hésite pas à me suivre là bas !