Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/05/2006, à 11:18

thx_84

[résolu]script shell: mise à jour et extinction automatique

Hello!

Je viens de créer un petit script qui me permet d'installer les dernières mises à jour puis d'éteindre l'ordinateur

#!/bin/sh

echo "Mon premier script"
echo "Mise à jour:"
set -e
sudo apt-get update && sudo apt-get upgrade -y || exit
apt-get clean
echo "Et maintenant, on fait dodo!!!"
sudo shutdown -h now

Mais je me demande s'il est possible d'inclure le mot de passe dans le script. Du coup, le script serait autonome et je n'aurais pas besoin de rester devant l'ordi pour taper le mot de passe...

Quelqu'un aurait une idée?


edit: modifications en tenant compte des propositions contenus dans ce fil

Dernière modification par thx_84 (Le 01/06/2006, à 11:56)


ben, comme on fait pour signer sur l'ordi??? mince, je viens de ficher en l'air l'écran avec mon stylo...

Hors ligne

#2 Le 29/05/2006, à 19:28

bertrand0

Re : [résolu]script shell: mise à jour et extinction automatique

La solution la plus simple serait de faire:
sudo tonscript
Comme ça, le mot de passe tu le tapes au moment de lancer le script, et le reste se fait en root, donc plus besoin de mot de passe.

EDIT: Si tu tiens à tout prix à insérer le mot de passe, il y a une option de sudo qui permet de lire le mot de passe depuis l'entrée standard. Mais il serait plus judicieux d'insérer une directive dans sudoers pour autoriser l'execution du script sans mot de passe, de façon à éviter la compromission de ce dernier.

Dernière modification par bertrand0 (Le 29/05/2006, à 19:33)


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#3 Le 29/05/2006, à 20:13

cep_

Re : [résolu]script shell: mise à jour et extinction automatique

J'avais du trouver une solution un jour pour lancer à plusieurs reprises un script sur la machine de quelqu'un avec les droits admin.

Pressé par le temps, j'avais fait un fichiers caché .mot_ps avec les droits 600 dans lequel il y avait le mot de passe non crypté. On pourrait aussi faire un cryptage léger et décryptage à la volée.

Pour le script ensuite j'avais ceci :

sudo -S xargs --< .mot_passe   la_commande_à_réaliser 

Comme dit bertrand0 tu peux aussi paramétrer sudoers

#4 Le 29/05/2006, à 20:42

doohan

Re : [résolu]script shell: mise à jour et extinction automatique

pas mal ce petit script pour aller se coucher plus tot wink

tu pourrais aller le mettre sur le site script linux, le concepteur cherche des contributeurs, je te l'aisse le lien
http://www.linuxscripts.c.la/

Hors ligne

#5 Le 29/05/2006, à 23:26

thx_84

Re : [résolu]script shell: mise à jour et extinction automatique

bertrand0 a écrit :

EDIT: Si tu tiens à tout prix à insérer le mot de passe, il y a une option de sudo qui permet de lire le mot de passe depuis l'entrée standard. Mais il serait plus judicieux d'insérer une directive dans sudoers pour autoriser l'execution du script sans mot de passe, de façon à éviter la compromission de ce dernier.

comment on fait?

pas mal ce petit script pour aller se coucher plus tot wink

tu pourrais aller le mettre sur le site script linux, le concepteur cherche des contributeurs, je te l'aisse le lien
http://www.linuxscripts.c.la/

pas mal la pub déguisée wink concernant le script, ça m'évite de rester devant l'ordi en attendant qu'il est terminé les mises à jour. Script quasiment indispensable sous dapper(enfin, vu que c'est pratiquement stable, faudra plutôt s'en servir avec edgy wink )


ben, comme on fait pour signer sur l'ordi??? mince, je viens de ficher en l'air l'écran avec mon stylo...

Hors ligne

#6 Le 30/05/2006, à 00:44

thx_84

Re : [résolu]script shell: mise à jour et extinction automatique

bon après test, j'ai un autre problème:

si je veux interrompre la mise à jour par un ctrl+c, il passe directement à la commande suivante(donc l'ordinateur s'éteint). est ce qu'il y a moyen de modifier ça?


ben, comme on fait pour signer sur l'ordi??? mince, je viens de ficher en l'air l'écran avec mon stylo...

Hors ligne

#7 Le 30/05/2006, à 19:02

bertrand0

Re : [résolu]script shell: mise à jour et extinction automatique

thx_84 a écrit :
bertrand0 a écrit :

EDIT: Si tu tiens à tout prix à insérer le mot de passe, il y a une option de sudo qui permet de lire le mot de passe depuis l'entrée standard. Mais il serait plus judicieux d'insérer une directive dans sudoers pour autoriser l'execution du script sans mot de passe, de façon à éviter la compromission de ce dernier.

comment on fait?

Pour sudo ? Fais "man sudoers", c'est une des docs les plus précises que j'ai lues.
En bref, il faut éditer sudoers en tapant une commande du style: "sudo visudo"
une fois dans l'éditeur, il suffit de rajouter une ligne appropriée, par exemple:
%admin  ALL=(root) NOPASSWD: /usr/local/bin/monscript ""

Autorise les utilisateurs du groupe admin, à executer monscript (le chemin complet est impératif) sans argument (les guillemets), en tant que root et sans avoir à taper de mot de passe.
Pour des raisons de sécurité, monscript doit évidemment appartenir à root, et ne pas être éditable par les utilisateurs...

par la suite, il n'y a qu'à taper "sudo monscript", et le mot de passe ne sera jamais demandé.
Le principal intérêt de cette méthode est que le mot de passe n'est pas stocké en clair, ce qui réduit les risques de fuites, côté sécurité, et évite d'avoir à changer quoi que ce soit quand l'utilisateur change son mot de passe, côté pratique.

Dernière modification par bertrand0 (Le 30/05/2006, à 19:03)


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#8 Le 30/05/2006, à 19:11

bertrand0

Re : [résolu]script shell: mise à jour et extinction automatique

thx_84 a écrit :

bon après test, j'ai un autre problème:

si je veux interrompre la mise à jour par un ctrl+c, il passe directement à la commande suivante(donc l'ordinateur s'éteint). est ce qu'il y a moyen de modifier ça?

Tu ajoutes "set -e" au début de ton script, et tu rajoutes "|| exit" à la fin de ta liste &&.


Ceux qui écrivent comme ils parlent, quoiqu'ils parlent très bien, écrivent mal.
                                                            Buffon, Discours sur le style

Hors ligne

#9 Le 30/05/2006, à 23:10

thx_84

Re : [résolu]script shell: mise à jour et extinction automatique

bertrand0 a écrit :

Tu ajoutes "set -e" au début de ton script, et tu rajoutes "|| exit" à la fin de ta liste &&.

sur la même ligne?

edit: je me réponds à moi-même, oui ça doit être sur la même ligne, autrement le script plante...

ben, ça y est je crois que mon script est bon, je m'en vais le proposer sur le site mentionné plus haut dans le thread... merci à tous!

Dernière modification par thx_84 (Le 30/05/2006, à 23:32)


ben, comme on fait pour signer sur l'ordi??? mince, je viens de ficher en l'air l'écran avec mon stylo...

Hors ligne

#10 Le 30/05/2006, à 23:22

abetsic

Re : [résolu]script shell: mise à jour et extinction automatique

commande1 && commande2
commande2 n'est executé que si commande1 se finit bien, donc dans le cas où tu interrompt commande1 (par ctrl-C par exemple) commande2 n'est pas executé

jettes un coup d'oeil à "man bash", c'est bien expliqué smile

Dernière modification par abetsic (Le 30/05/2006, à 23:24)

Hors ligne