[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash: changer d'utilisateur



Le Saturday 02 February 2008 19:57:08 debianpmd, vous avez écrit :
> 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 root@localhost 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 root@localhost 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
>
> ---------------------------------------------------------------------------
>------------ Orange vous informe que cet  e-mail a ete controle par
> l'anti-virus mail. Aucun virus connu a ce jour par nos services n'a ete
> detecte.

ça y est je m'en suis sorti, merci à vous.
le bash d'installation de medintux V1.26

#!/bin/bash -v
echo "assurez vous d'abord d'avoir installé /n
les paquets mysql: /n
mysql-client-5.0 /n
mysql-server-5.0 /n
mysql-admin /n
et leurs dépendances /n
et les paquets qt3 : /n
qt3-designer /n
qt3-qtconfig /n
etc...
et placez le .7zip dans votre dossier personnel"
sleep 5

touch /home/$USER/table && echo "#!/bin/bash
update user set password=password('') where user="root" and host="localhost";" 
> /home/$USER/table
chmod +x /home/$USER/table

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 passe en root 
sudo /etc/init.d/mysql stop
#puis redémarrer en mode safe pour changer les tables d'autorisation
sudo mysqld_safe --skip-grant-tables --skip-networking & 
if [ "$?" == "0" ] 
 then 

#définir le mot de passe nul mysql
	mysql mysql < /home/$USER/table 
fi

sudo /etc/init.d/mysql restart
echo "une fois démarré le programme medintux, /n
vous cliquerez sur installer les bases /
puis un fois installées, sur démarrer medintux.
Vous pourrez donner ultérieurement un mot de passe à votre base de donnée avec 
un autre progamme "
sleep 5
/home/pmddeb/MedinTuxDist-V1.26-Utf8/set_bases/bin/set_bases
exit



pmd



Reply to: