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 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