Bonsoir,
j'aimerais faire un script python, mais pour cela j'ai besoin de la commande bash "sudo".
J'aimerais executer une commande du type :
sudo commande -password
Bien sur tout est connu, tant l'user que le password, c'est simplement pour éviter de taper le mot de passe dans l'interpréteur.
Merci par avance pour votre aide
:D
Ubuntu ? ;) :)
Je comprends pas trop la question. tu veux plutôt dire taper
sudo commande
et que ça s'exécute SANS devoir taper le mot de passe de root ?
Si c'est ça que tu veux, ça se fait en modifiant le contenu du fichier /etc/sudoers prévu à cet effet.
Par exemple si tu as dedans
fred1599 ALL = (root) NOPASSWD: /sbin/fdisk -l, /sbin/shutdown -h now, le_script_python
alors tu peux rebooter ou lister tes partitions et même exécuter le_script_python sans être root et sans donner le mot de passe.
Attention ne pas éditer /etc/sudoers manuellement, mais avec je crois visudo. je dis je crois parce que j'utilise jamais sudo, beaucoup trop dangereux selon moi.
Ici le danger c'est que si tu as du code malicieux (ou si un autre sudoer a les droits pour en injecter ;) ) dans le script Python exécuté avec les droit de root, ça peut aller loin... :)
En effet :D
Pas tout a fait mais
sudo commande mot_de_passe
Non non je connais cette technique et je ne veux pas l'utiliser pour cette raison
|
|
v
dont je connais tres bien les risques et que je ne veux pas tenter :wink:
Merci de ton aide
De mémoire je dirais qu'on ne peut pas faire
sudo commande password
Tu fais sudo command et le mot de passe t'es demandé à ce moment. Et c'est ça que tu veux contourner si je comprends bien.
Il me semble que sudo peut lire le mot de passe depuis stdin si on donne l'option -S (S majuscule)
essaie:
echo le_mot_de_passe | sudo -S commande
et dis nous si ça marche :)
Je l'avais lu dans le man mais je ne savais pas l'utiliser, tu es un génie :D
Ca marche du feu de dieu, je te remercie énormément
:wink: