#1 Le 30/04/2012, à 17:00
- PowaBanga
Mot de passe et utilisation de if/fi
Bonjour,
je cherche à utiliser graphiquement le mot de passe, et de pouvoir continuer mon script en fonction de if fi...
Mais là je trouve vraiment rien qui me le permette sur le net...
Quelqu'un sait me sauver ?
Hors ligne
#2 Le 30/04/2012, à 17:11
- Hizoka
Re : Mot de passe et utilisation de if/fi
remplace sudo par gksudo pour avoir une boite qui te demande ton mot de passe.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#3 Le 01/05/2012, à 12:00
- PowaBanga
Re : Mot de passe et utilisation de if/fi
oui ça je sais, mais dans tous les cas cette boit me répond 0 et mon script continue
elle ne répond jamais 1... :'(
Hors ligne
#4 Le 01/05/2012, à 12:14
- pires57
Re : Mot de passe et utilisation de if/fi
on peut voir le script peut être?
A mon avis, le problème vient de la
Dernière modification par pires57 (Le 01/05/2012, à 12:14)
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#5 Le 01/05/2012, à 19:49
- Hizoka
Re : Mot de passe et utilisation de if/fi
utilise zenity --password au pire.... mais surement moins securisé....
Sinon, on doit pouvoir verifier si on est en sudo, et tant que ce n'est pas le cas on boucle ou stoppe...
Genre la variable ${USER} ou ${SUDO_USER}....
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#6 Le 01/05/2012, à 20:29
- PowaBanga
Re : Mot de passe et utilisation de if/fi
En fait le script n'est pas encore vraiment fait mais voici ce que j'ai essayé, y a des truc ça marche pas du tout, mais je montre quand même comme ça on me dira pas de le faire
donc ça, ca marche pas , (un problème aves les chiffre et caractères spéciaux peut-être ?)
pass=`zenity --password --title="Password" --text="password"`
sudo gedit
$pass
et ça, dans tous les cas ça renvois 0
gksudo gedit
if [ "$?" -eq 1 ]; then
zenity --error \
--text="1= on arrête"
fi
if [ "$?" -eq 0 ]; then
zenity --error \
--text="0=on continue"
fi
if [ "$?" -eq -1 ]; then
zenity --error \
--text="-1"
fi
L'idée de vérifier le root m'intéresse, donc du coup je vien d'essayer en même temps que je tape ce message, et bref jme suis rendu compte que ceci me renvoi toujours la bulle avec "0=..." :
(au début j'avais "$USER" au lieu de "ddR")
gksudo echo $USER
if [ "$?" -eq 1 ]; then
zenity --error \
--text="1= on arrête"
elif [ "ddR" ]; then
zenity --error \
--text="0=on continue"
sudo gedit
else [ "$?" -eq -1 ]; then
zenity --error \
--text="-1"
Je suppose donc qu'il y a un truc louche dans mon bazar, du coup j'ai réessayé avec les conseil d'hizoka, mais ca ne change rien, c'est toujours la seconde instance qui est prise en charge... :
gksudo echo $USER
if [ "$?" -eq 1 ]; then
zenity --error \
--text="1= on arrête"
elif [ "ddR" ]; then
zenity --error \
--text="0=on continue"
sudo gedit
else
zenity --error \
--text="-1"
fi
Dernière modification par PowaBanga (Le 01/05/2012, à 20:30)
Hors ligne
#7 Le 01/05/2012, à 21:25
- PowaBanga
Re : Mot de passe et utilisation de if/fi
C'est bon j'ai trouvé, en fait je me suis apperçu que je pouvais utiliser "echo $?" pour voir la réponse que m'envoyais le programe, donc j'ai essayé, et j'ai trouvé 255, 3 et 0 selon mes actes...
Bref je me retrouve avec 4 conditions, et du coup je me demande s'il n'y a pas un moyen pour que ca passe avec un truc genre if/elif/else parce que ça passe pas ça avec une 4iem condition...
gksudo echo "franckie" > $HOME/AAB
if [ "$?" -eq 255 ]; then
zenity --error \
--text="Vous avez cliqué sur 'annuler' "
fi
if [ "$?" -eq 3 ]; then
zenity --error \
--text="Le mot de passe est incorrect
Pour avoir les droit, demandez..."
fi
if [ "$?" -eq 0 ]; then
zenity --error \
--text="Le mot de passe est correct, on continue"
fi
if [ "$?" -eq -1 ]; then
zenity --error \
--text="je ne sais pas ce qui pourrait causer ceci "
fi
Et avec les if/elif/else, je vous montre mais ca marche pas :
gksudo echo "franckie" > $HOME/AAB
if [ "$?" -eq 255 ]; then
zenity --error \
--text="Vous avez cliqué sur 'annuler' "
elif [ "$?" -eq 3 ]; then
zenity --error \
--text="Le mot de passe est incorrect
Pour avoir les droit, demandez..."
fi
elif [ "$?" -eq 0 ]; then
zenity --error \
--text="Le mot de passe est correct, on continue"
else [ "$?" -eq 0 ]; then
zenity --error \
--text="je ne sais pas ce qui pourrait causer ceci "
fi
Hors ligne
#8 Le 01/05/2012, à 22:11
- PowaBanga
Re : Mot de passe et utilisation de if/fi
hééé y a "pkexec" aussi pour demander le mot de passe via l'interface, et au moin celui là il est aussi sur KDE
comment je peux faire pour créer un fichier texte ou bash en root avec ça ?
Parce que là si je veux que mon script soit compatible à KDE ca me fera un script dans ce style :
gksudo gedit
if [ "$?" -eq 255 ]; then
zenity --error \
--text="Vous avez cliqué sur 'annuler' "
fi
if [ "$?" -eq 3 ]; then
zenity --error \
--text="Le mot de passe est incorrect
Pour avoir les droit, demandez..."
fi
if [ "$?" -eq 0 ]; then
zenity --error \
--text="Le mot de passe est correct, on continue"
fi
if [ "$?" -eq -1 ]; then
zenity --error \
--text="je ne sais pas ce qui pourrait causer ceci "
fi
if [ "$?" -eq 127 ]; then
kdesu gedit
if [ "$?" -eq 255 ]; then ####en espérant que se soient les mêmes chiffres####
zenity --error \
--text="Vous avez cliqué sur 'annuler' "
fi
if [ "$?" -eq 3 ]; then
zenity --error \
--text="Le mot de passe est incorrect
Pour avoir les droit, demandez..."
fi
fi
if [ "$?" -eq 0 ]; then
zenity --error \
--text="Le mot de passe est correct, on continue"
fi
if [ "$?" -eq -1 ]; then
zenity --error \
--text="je ne sais pas ce qui pourrait causer ceci "
fi
if [ "$?" -eq 127 ]; then
zenity --error \
--text=" Il semblerait que les commandes
'gksudo' et 'kdesu' "
ne fonctionnent pas sur cet ordinateur.
fi
fi
Dernière modification par PowaBanga (Le 02/05/2012, à 00:37)
Hors ligne
#9 Le 02/05/2012, à 03:32
- Hizoka
Re : Mot de passe et utilisation de if/fi
Tu veux faire quoi exactement là ?
ouvrir gedit en root et y coller automatiquement le texte ?
en console il faudrait faire
echo "tout le blabla" | sudo tee le_fichier_de_sortie
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne