Vous avez loué un serveur, ou plutôt, une machine virtuelle public cloud chez OVH ? Et vous vous demandez comment obliger l'utilisateur debian à saisir un mot de passe avant de lancer des commandes en sudo ?
Pourquoi obliger la saisie du password ?
C'est une bonne pratique que pour toute élévation de privilège, le mot de passe soit requis pour valider une action privilégiée comme relancer un service.
Et bien souvent sur les machines OVH par défaut, l'utilisateur Debian à le droit de lancer ces commandes du super-utilisateur sans saisir de mot de passe...
C'est compréhensible pour l'initialisation des machines, pour la suite de leurs exploitations beaucoup moins.
Comment le retirer proprement ?
Pour cela, il faut pouvoir modifier le fichier suivant : /etc/sudoers.d/90-cloud-init-users, mais il ne suffit pas de faire un "vi" ou un "nano" pour cela. En effet, le fichier est bloqué en lecture, car il est généré au démarrage de la machine via le paquet cloud-init.
Il vous faut donc modifier la configuration de cloud-init pour corriger cela via le fichier /etc/cloud/cloud.cfg.
À la fin du fichier, vous aurez ceci (dans le bloc system_info) :
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
Il faut le remplacer par la chaîne :
sudo: ["ALL=(ALL) ALL"]
Avant de redémarrer la machine, il ne faut pas oublier de supprimer le fichier /etc/sudoers.d/90-cloud-init-users, et voilà, le fichier ne reviendra pas vous embêter.
Conclusion
Et voilà, en 2 minutes, vous venez d'améliorer la sécurité de votre serveur Linux sous Debian chez OVH, cela fait notamment partie des règles de durcissement d'OS de l'ANSSI.