Même avec cette explication j'ai un peu de mal à comprendre. Celà dit j'ai peut-être une idée. Pour pouvoir faire ce genre de choses je pense qu'il faut splitter l'appli. : une partie "serveur/backend" qui tourne en mode privilégiée. et une partie "cliente/frontend" accessible aux utilisateurs.
Tu définis deux profils : un profil par défaut (utilisateur simple) et un profil administrateur, qui nécessite d'entrer un mot de passe pour passer dans ce mode. Le mot de passe administrateur est stocké dans un fichier de conf qui n'est accessible que via le compte sous lequel tourne le backend.
Tu peux aussi t'inspirer du fonctionnement de /etc/shadow et utiliser les suid/sgid bits pour empêcher les utilisateurs lambdas d'accéder au fichier contenant le mot de passe chiffré. Tu fais en sorte que seule ton appli (et un compte privilégié tel que root, ou autre) ne puisse accéder au mot de passe administrateur pour le lire/modifier. Et tu ne permet de modifier le mot de passe qu'aux utilisateurs connaissant le mot de passe administrateur (demande de l'ancien mot de passe avant de changer).
[^] # Re: problème mal défini
Posté par totof2000 . En réponse au message Comment stocker un mot de passe admin d'une application. Évalué à 4.
Même avec cette explication j'ai un peu de mal à comprendre. Celà dit j'ai peut-être une idée. Pour pouvoir faire ce genre de choses je pense qu'il faut splitter l'appli. : une partie "serveur/backend" qui tourne en mode privilégiée. et une partie "cliente/frontend" accessible aux utilisateurs.
Tu définis deux profils : un profil par défaut (utilisateur simple) et un profil administrateur, qui nécessite d'entrer un mot de passe pour passer dans ce mode. Le mot de passe administrateur est stocké dans un fichier de conf qui n'est accessible que via le compte sous lequel tourne le backend.
Tu peux aussi t'inspirer du fonctionnement de /etc/shadow et utiliser les suid/sgid bits pour empêcher les utilisateurs lambdas d'accéder au fichier contenant le mot de passe chiffré. Tu fais en sorte que seule ton appli (et un compte privilégié tel que root, ou autre) ne puisse accéder au mot de passe administrateur pour le lire/modifier. Et tu ne permet de modifier le mot de passe qu'aux utilisateurs connaissant le mot de passe administrateur (demande de l'ancien mot de passe avant de changer).