- Accueil
- » Forum
- » Serveurs
- » php et pure-ftp
Pages : 1
#1 Le 07/05/2007, à 20:05
- ehooh
php et pure-ftp
Bonjour a tous, je demande rarement de l'aide avant d'avoir chercher, mais j'ai vraiment besoin d'aide car je bloque.
Sous Ubuntu 7.04 avec un serveur LAMP et FTP ( pure-ftp) j'utilise la commande "pure-ftpd -B -1 -A -c 5 -C 1 --tls=0 -E -r -l puredb:/etc/pure-ftpd/pureftpd.pdb -m" il me demande deux fois le mot de passe et c'est bon, ça fonctionne.
Le problème c'est que je voudrais le faire avec une page php donc sans intervention humaine au niveau du mot de passe. Et la je bloque, principalment car il me demande le mot de passe 2 fois.
Si quelqu'un sait comment je pourrais résoudre ce problème, cela serait très symphatique.
Merci d'avance
Hors ligne
#2 Le 07/05/2007, à 20:35
- seb0uil
Re : php et pure-ftp
Salut,
Tu veux lancer la commande par un script PHP ?
Dans ce cas, pourquoi ne pas lancer un script shell qui lui même lancer la commande pure-ftpd
Tu peux alors tenter avec
pure-ftpd -B -1 -A -c 5 -C 1 --tls=0 -E -r -l puredb:/etc/pure-ftpd/pureftpd.pdb -m << EOF
pwd1
pwd2
EOF
Ca devrait fonctionner non ?
Hors ligne
#3 Le 07/05/2007, à 20:46
- ehooh
Re : php et pure-ftp
Salut, tout d'bord, merci...
la commande à executé est "pure-pw useradd ehooh -u ftpuser -g ftpgroup -d /var/www/u2/ -N 200 -m" mais j'ai adapté le script:
pure-pw useradd ehooh -u ftpuser -g ftpgroup -d /var/www/u2/ -N 200 -m EOF
ehooh
ehooh
EOF
Après exécution du script il me demande le mot de passe a deux reprise et me dit que "ehooh" n'est pas une commande valide. donc cela ne fonctionne pas.
que faire ...
Hors ligne
#5 Le 07/05/2007, à 21:46
- ehooh
Re : php et pure-ftp
oups, oui tu as raison, j'avais oublier le principal et oui cela a macher, par contre en php cela ne fonctionne pas
$command="pure-pw useradd $login -u ftpuser -g ftpgroup -d /var/www/$sql/ -N 200 -m << EOF $pass $pass EOF"
$output=shell_exec($command." 2>&1"); //system call
est-ce que je dois mettre le code dans la page php ou lancer le script dans la page php?
Cela merci beaucoup pour ton aide.
Hors ligne
#7 Le 08/05/2007, à 09:54
- ehooh
Re : php et pure-ftp
merci bcp, j'ai penser a faire ceci mais ça ne fonctionne pas
$fp = fopen("/var/www/identifiant/pure","a+");
fputs($fp,"pure-pw useradd $login -u ftpuser -g ftpgroup -d /var/www/$sql/ -N 200 -m << EOF $pass $pass EOF");
fclose($fp);
$command="chmod 777 /var/www/identifiant/pure";
$output=shell_exec($command." 2>&1"); //system call
$command="/var/www/identifiant/./pure";
$output=shell_exec($command." 2>&1"); //system call
$command="rm /var/www/pure";
$output=shell_exec($command." 2>&1"); //system call
Est-ce que quelqu'un sait comment lancer un script dans une page page, je vais quand même chercher dans le forum, ça doit etre quelque part.
xxx
Hors ligne
#8 Le 08/05/2007, à 11:24
- dexinou
Re : php et pure-ftp
j'ai un petit script bash pour ajouter des utilisateurs virtuels, si ça peu t'aider pour créer le tien:
#!/bin/bash
#
################################################################################
# Configuration :
# adaptez cette ligne selon votre installation
PASSWDFILE=/etc/pure-ftpd/pureftpd.passwd
# adaptez selon les parametres que vous avez choisis pour votre serveur (laissez
# les guillemets)
PUREFTPCONF="/usr/sbin/pure-ftpd -A -b -c10 -B -C2 -D -E -fftp -H -I5 -lpuredb:/etc/pure-ftpd/pureftpd.pdb -L10000:3 -m4 -p10000:10400 -s -U133:022 -u1000 -Oclf:/var/log/transfers.log -k95 -Y0 &"
# Adaptez selon l'UID de l'utilisateur ftpuser et le GID du groupe ftpgroup
# sur votre Linux
NUMIDDEFTPUSER=2001
NUMIDDEFTPGROUP=2001
# répertoire chrooté des users créés
PATHACCES=/var/www/
#Fin de la configuration
################################################################################
CHOIX=0
clear
echo -e "\n\t\t\t***********************\n\t\t\t* Gestion de Pure-FTP *\n\t\t\t***********************\n"
while [ $CHOIX != 9 ]; do
echo -e "\t\t\tChoix possibles:\n\t\t1: Ajouter un utilisateur virtuel.\n\t\t2: Effacer un utilisateur virtuel.\n\t\t3: Voir les droits d'un utilisateur.\n\t\t4: Lister les utilisateurs.\n\t\t5: Changer le passwd d'un utilisateur.\n\t\t6: Voir les connections actives du serveur.\n\t\t7: Démarrer le serveur.\n\t\t8: Tuer le serveur.\n\t\t9: Quitter.\n\nTapez l'entier correspondant a votre choix:"
read CHOIX
echo ""
case $CHOIX in
1)
echo "Entrez le login à ajouter: "
read NICK
if [ "$NICK" = "" ];then
echo -e "Erreur, veuillez indiquer un login!\n"
else
if [ $NICK = root ];then
echo -e "Erreur, veuillez indiquer un login différent de root!\n"
else
if grep $NICK $PASSWDFILE > /dev/null
then
echo -e "$NICK a déjà un compte\n"
else
pure-pw useradd $NICK -u $NUMIDDEFTPUSER -g $NUMIDDEFTPGROUP -d $PATHACCES
echo -e "Utilisateur virtuel $NICK ajouté!\n"
pure-pw mkdb
fi
fi
fi
;;
2)
echo "Entrez le login à effacer: "
read NICK
if [ "$NICK" = "" ];then
echo -e "Erreur, veuillez indiquer un login!\n"
else
if grep $NICK $PASSWDFILE > /dev/null
then
pure-pw userdel $NICK
echo -e "Utilisateur virtuel $NICK supprimé!\n"
pure-pw mkdb
else
echo -e "L'utilisateur $NICK n'existe pas!\n"
fi
fi
;;
3)
echo "Entrez le login dont vous voulez vérifier les droits: "
read NICK
if [ "$NICK" = "" ];then
echo -e "Erreur, veuillez indiquer un login!\n"
else
if grep $NICK $PASSWDFILE > /dev/null
then
pure-pw show $NICK
else
echo -e "L'utilisateur $NICK n'existe pas!\n"
fi
fi
;;
4)
echo -e "\tLogin\t\t| UID\t| GID\t| path"
echo -e "\t----------------+-------+-------+-----------------------"
awk 'BEGIN { FS=":" } NF==0{next} {print " "$1 " \| " $3 " \| " $4 " \| " $6}' $PASSWDFILE
echo ""
;;
5)
echo "Entrez le login dont le passwd doit changer: "
read NICK
if [ "$NICK" = "" ];then
echo -e "Erreur, veuillez indiquer un login!\n"
else
if grep $NICK $PASSWDFILE > /dev/null
then
pure-pw passwd $NICK
echo -e "Le passwd de $NICK est changé!\n"
pure-pw mkdb
else
echo -e "L'utilisateur $NICK n'existe pas!\n"
fi
fi
;;
6)
pure-ftpwho -v
;;
7)
eval $PUREFTPCONF
echo -e "Serveur FTP\t\t\t[ON]\n"
;;
8)
for VAR in "`ps -A | grep pure-ftpd`"; do
if [ pure-ftpd = "`echo $VAR | gawk -F" " '{print $4}'`" ]; then
VAR=`echo "$VAR" | gawk -F" " '{print $1}'`
kill -9 $VAR
fi
done;
echo -e "Serveur FTP\t\t\t[OFF]\n"
;;
9)
clear
echo -e "\n\n\n\t\tA bientôt!\n"
sleep 2
clear
exit
;;
*)
echo -e "Votre choix n'est pas valide!"
CHOIX=0
;;
esac
echo "Press <Enter>"
read UNUSED
clear
done
Dernière modification par dexinou (Le 08/05/2007, à 11:27)
Ubuntu 9.10 64bits ext4 ® Core 2 Duo
Unix..... il y a moins bien mais c'est plus cher.
Si t'as pas compris la réponse, pose mieux ta question.
Tutoriaux Linux, apache, pure-ftpd, bind, mysql, qmail...
Hors ligne
#9 Le 08/05/2007, à 19:38
- ehooh
Re : php et pure-ftp
ton code m'a ton d'abord fait peur, puis imprésioner mais il m'aide pas dans mon problème. Mais mon problème c'est que je n'arrive pas a gérer les mots de passe avec le php. Par contre grace a l'aide de seb0ull j'ai reussi avec un script. Je pense que si je ne peu pas faire ça c'est que je ne sui ps en "su" en lançant le script. Donc la je sèche, car pour ce que je veux faire, je ne dois absolument pas connaitre le mot de passe de l'utilisateur et tout dois se faire en une seule fois.
Peut etre que quelqu'un connais une autre application plus simple pour créer des utilisateur
Hors ligne
#10 Le 08/05/2007, à 21:04
- ehooh
Re : php et pure-ftp
hmmm, je ne peux pas ouvrir l'archive ... Il me dis que ce n'est pas une archive Gzip
Hors ligne
#11 Le 08/05/2007, à 22:01
- dexinou
Re : php et pure-ftp
et maintenant ? : http://download.generation-linux.net/ftp_v2.2.tar.gz
Dernière modification par dexinou (Le 08/05/2007, à 23:06)
Ubuntu 9.10 64bits ext4 ® Core 2 Duo
Unix..... il y a moins bien mais c'est plus cher.
Si t'as pas compris la réponse, pose mieux ta question.
Tutoriaux Linux, apache, pure-ftpd, bind, mysql, qmail...
Hors ligne
#12 Le 08/05/2007, à 22:46
- ehooh
Re : php et pure-ftp
oui merci beaucoup, donc en regardant ça, je vais utiliser la méthode sql plutot que par fichier. Je vous donne des nouvelles si cela fonctionne.
xxx
Hors ligne
Pages : 1