Le Saturday 02 February 2008 19:09:24 mouss, vous avez écrit : > debianpmd wrote: > > Le Saturday 02 February 2008 11:54:56 mouss, vous avez écrit : > >> debianpmd wrote: > >>> bonjour, je cherche dans un bash à passer dans un shell fils en root et > >>> d'y exécuter des commandes en root. > >>> par exemple : > >>> #!/bin/bash > >>> > >>> echo "rentrez votre mot de passe" > >>> su - > >>> > >>> cat /etc/esound/esd.conf > >>> > >>> > >>> > >>> quoique je fasse, je reste bloqué sur > >>> debian # > >>> et la commande cat ne s'exécute pas > >> > >> bien su "forke" un shell et tu est dedans. les commandes d'après seront > >> lancées après exit (mais pas en tant que root!). > >> > >> essaye avec > >> > >> su - root /bin/cat /etc/esound/esd.conf > >> > >> > >> mais c'est quoi le but de la manoeuvre? > >> > >>> Je ne m'en sort pas. > >>> Que dois je faire svp ? > >>> Merci > >>> > >>> pmd > > > > merci de ta réponse. > > > > bon en fait c'est pour passer en root dans ce script > > il faut faire un script à lancer en tant que root et tu lances ce script > dans la ligne "su". > su - root /chemin/vers/ton/script > > > il décompresse le paquet > > il arrête mysql > > il permet de mettre un mot de passe mysql > > puis de passer en utilisation sans mot de passe > > puis de lancer le programme d'installation, > > puis de revenir en mysql normal. > > > > #!/bin/bash > > cd /home/$USER > > /usr/bin/p7zip -d MedinTuxDist-V1.26-Utf8.7z > > chown -R $USER MedinTuxDist-V1.26-Utf8 > > chmod -R 775 MedinTuxDist-V1.26-Utf8 > > > > echo "entrez votre mot de passe root" > > > > #on npasse en root > > su /etc/init.d/mysql stop > > #puis redémarrer en mode safe pour changer les tables d'autorisation > > su mysqld_safe --skip-grant-tables --skip-networking & > > mysql mysql > > #définir le mot de passe mysql > > fichtemp='tempfile 2>/dev/null' || fichtemp=/tmp/test$$ > > echo "choisissez un mot de passe mysql" > > 2> $fichtemp > > update user set password=password($fichtemp) where user="root" and > > euh... mettre le password riit de mysql dans /tmp/, c'est pas vraiment > conseillée. > > mais pourquoi le script devrait-il changer le pass root mysql? A moins > de vouloir mettre le pass sur N machines, ça n'a pas trop de sens. et > dans le cas de N machines, il faut avoir un script qui ne fait que ça. > diviser pour règner (rien n'empêche de le lancer à partir > > > host="localhost"; > > exit > > su /etc/init.d/mysql restart > > mysql -u root -p > > $fichtemp > > GRANT ALL ON *.* TO [EMAIL PROTECTED] IDENTIFIED BY ""; > > ./home/$USER/MedinTuxDist-V1.26-Utf8/set_bases/bin/set_bases > > root a deja tous les droits. il ne faut pas utiliser ce user pour les > taches "communes". il faut créer un autre utilisateur dédié à la tache. > > > GRANT ALL ON *.* TO [EMAIL PROTECTED] IDENTIFIED BY "$fichtemp"; > > exit > > > > > > je n'y suis pas encore , hein ?
c'est parce que c'est pour une première installation de mysql et du logiciel. pmd

