batch/1.1/old/ftpadmin.sh
2013-06-19 08:24:49 +00:00

142 lines
4.7 KiB
Bash

#!/bin/bash
################################################################################
# Utilitaire pour Pure-FTP
# PureFTPadmin v1.0 Feb 05 2003 written by : SkazeR <skazer_bop@yahoo.fr>
# this script is free software according to the GNU General Public License (see http://www.gnu.org/licenses/gpl.html)
################################################################################
################################################################################
# Configuration :
# adaptez cette ligne selon votre installation
PASSWDFILE=/etc/pureftpd.passwd
# adaptez selon les parametres que vous avez choisis pour votre serveur (laissez
# les guillemets)
PUREFTPCONF="/usr/local/sbin/pure-ftpd -B -1 -K -A -c 5 -C 1 -E -r -w -l puredb:/etc/pure-ftpd/pureftpd.pdb &"
# Adaptez selon l'UID de l'utilisateur userftp et le GID du groupe ftp groupe
# sur votre PC
NUMIDDEFTPUSER=501
NUMIDDEFTPGROUP=501
# répertoire chrooté des users créés
PATHACCES=/Download/Download/ftp/
#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