sneakz a écrit :
1) j'utilise dans le script la commande ftpasswd pour créer sous proftpd des utilisateurs virtuels.
Cette commande insérée dans une boucle attend un mot de passe. Comment puis-je automatiser une réponse automatique ?
|
Déjà, avant d'insérer ce genre de commande dans une boucle, faut que tu la testes en direct, tu verras mieux la syntaxe. Tu tapes "ftppasswd --<tous les trucs etc>" et tu regardes la syntaxe. Dès que c'est bon, tu la mets dans ta boucle.
Tu peux utiliser la double redirection input => ftppasswd machin chose << _EOT_
mot_de_passe
_EOT_
Le problème, c'est que certaines commandes comme "passwd" refusent la redirection input (risque de hack). Si "ftppasswd" est du même type, tu seras marron... sauf si la commande intègre en elle une option te permettant de paramétrer l'input => man
sneakz a écrit :
2) dans ce script, je veux automatiser la création de base de données sous mysql, or j'ai une ligne qui n'est pas bien reconnu en shell alors qu'elle passe en mode sql.
CREATE DATABASE et GRANT USAGE fonctionnent mais pas GRANT ALL PRIVILEGES
Code :
- cat <<EOF | mysql --user=root --password='password'
- CREATE DATABASE $DOMAINE;
- GRANT USAGE ON * . * TO '${DOMAINE}$i'@'%' IDENTIFIED BY '$password';
- GRANT ALL PRIVILEGES ON `cgo01\_%` . * TO '${DOMAINE}$i'@'%' WITH GRANT OPTION ;
- EOF
|
|
Fait gaffe aux backquottes (`) après le "ON". Le shell interprète ça comme un sous-appel à une commande. A mon avis, faut les protéger par des backslashes. D'ailleurs je suis étonné que le "GRANT USAGE" passe car les étoiles devraient aussi te poser des soucis...
---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.