| Qui est en ligne ? |
| Il y a : 14 utilisateurs en ligne, consultez le détail |
Forum » Serveur, Réseaux et Programmation » Vérification mot de passe Applescript et scripts Bash |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
| Page : [1] |
| Auteur | Message |
|---|---|
|
|
#0 Message posté le : 11-04-2008 à 13:11:43 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 13-07-2005 Nombre de messages : 204 |
Bonjour @ tous ! Je crée actuellement une application basée sur AppleScript et des scripts Bash. Je sais qu'on peut lancer un script Bash via AppleScript avec la commande suivante : do shell script "monscript" password "mypass" with administrator privileges. Cette commande affiche une fenêtre dans laquelle l'utilisateur doit entrer son mot de passe avant l'exécution du script (si celui-ci nécessite les droits administrateur). Le problème avec ce type de commande c'est qu'au bout de 5 minutes les droits redeviennent ceux de l'utilisateur actuel. Or mon programme a pas mal de scripts différents à lancer durant l'exécution et la plupart s'exécute durant plus de 5 min donc à chaque fois l'utilisateur doit entrer de nouveau son mot de passe. J'ai donc créer une fenêtre qui demande le mot de passe (secure text field). Au clic sur "OK" le programme récupère le mot de passe entré dans une variable. Mon problème c'est : comment vérifier que le mot de passe entré est bien celui de l'utilisateur ? J'ai bien tenté do shell script "echo " & my_pass & " | sudo -S ls / > /dev/null 2> /dev/null; echo $?". Mais si l'utilisateur a déjà lancé la commande sudo en utilisant son sytème, lorsque mon programme demande le mot de passe, peu importe le mot de passe entré il est considéré comme exact ! J'avais pensé terminé le processus qui fait que la commande sudo dure 5 min mais impossible de savoir lequel c'est ... Bref je m'arrache les cheveux donc si l'un d'entre vous à une idée ... --Message édité par zephyroth le 11-04-2008 à 13:13:43-- |
|
|
#1 Message posté le : 11-04-2008 à 15:45:35 |
Scarabée Forum : Inscrit Association : Arrivé(e) le : 13-07-2005 Nombre de messages : 204 |
OK j'ai trouvé tout seul comme le grand garçon que je suis ... En fait il suffisait de changer la commande : do shell script "echo " & my_pass & " | sudo -S ls / > /dev/null 2> /dev/null; echo $?" par do shell script "sudo -k;echo " & my_pass & " | sudo -S ls / > /dev/null 2> /dev/null; echo $?" Voici l'explication de la command "sudo -k" tirée des pages du manuel Anglais: -k The -k (kill) option to sudo invalidates the user's timestamp by setting the time on it to the epoch. The next time sudo is run a password will be required. This option does not require a password and was added to allow a user to revoke sudo permissions from a .logout file |
| Page : [1] |
Forum » Serveur, Réseaux et Programmation » Vérification mot de passe Applescript et scripts Bash |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
- Petit scarabée : 0 pastille, moins de 100 messages
- Scarabée : 0 pastille, plus de 100 messages
- Hobbit : 1 pastille, plus de 1000 messages
- Naboo : 2 pastilles, plus de 2000 messages
- Elfe : 3 pastilles, plus de 3000 messages
- Jedi : 4 pastilles, plus de 4000 messages
- Maître Jedi : 5 pastilles, plus de 5000 messages