Administração de Servidor FTP + MySQL

Publicado por Thiago Alves 12/09/2007

[ Hits: 6.803 ]

Homepage: http://www.seeufosseopresidente.com.br

Download adminftp.sh




Esse script faz a tarefa de administrar um servidor de ftp conectado ao mysql.

Na verdade ele administra as informações do banco de dados; então fica funcionando como um genérico, desde que seja alterado para caber no banco que deseja ser usado.

  



Esconder código-fonte

#!`which bash`
#
# Script criado para administrar contas do servidor de ftp
# que estao no mysql.
#
# Criado por Thiago Alves dos Santos 12/11/2007
# thiago<arroba>gmail<ponto>com

MYSQL=`which mysql`
PWD=`pwd`
INICIO="sh $PWD/adminftp.sh"
USERDB=XXXXXXXX
DB=XXXXXXXXXX
PWDDB="XXXXXX"
criar_usuario() {
    clear
    $MYSQL -u $USERDB -p$PWDDB -e "select * from ftpusers" $DB
    echo "      Criacao de Usuarios para FTP"
    echo
    echo -n "      Informe o id(valor unico): "
    read ID
    echo -n "      Informe o nome do usuario: "
    read USERNAME
    echo -n "      Informe senha: "
    read PASSWORD
    sleep 2
    $MYSQL  -u $USERDB -p$PWDDB -e "insert into ftpusers  values($ID,'$USERNAME','$PASSWORD','80','80','/ftp/$USERNAME/',1,100,0,0,0,0,0)" $DB
    sleep 2
    mkdir -p /ftp/$USERNAME
    chown -R 80.80 /ftp
    echo
    echo "   Usuario $USERNAME criado com sucesso"
    echo "   Senha $PASSWORD"
    read f
}

desativa_usuario() {
    clear
    echo "      Desativando Usuario"
    echo
    echo
    $MYSQL -u $USERDB -p$PWDDB -e "select * from ftpusers" $DB
    echo
    echo -n "      Informe o nome do usuario: "
    read USERNAME
    sleep 3
    $MYSQL -u $USERDB -p$PWDDB -e "update ftpusers set active=0 where username='$USERNAME'" $DB
    echo
    echo "      Usuario $USERNAME desativado"
    read f
}
ativa_usuario() {
    clear
    echo "      Desativando Usuario"
    echo
    echo
    $MYSQL -u $USERDB -p$PWDDB -e "select * from ftpusers" $DB
    echo
    echo -n "      Informe o nome do usuario: "
    read USERNAME
    sleep 3
    $MYSQL -u $USERDB -p$PWDDB -e "update ftpusers set active=1 where username='$USERNAME'" $DB
    echo
    echo "      Usuario $USERNAME ativado"
    read f
}

altera_senha() {
    clear
    echo
    echo "      Alterando Senha"
    echo
    echo -n "      Informe o nome do usuario: "
    read USERNAME
    echo -n "      Informe nova senha: "
    read PASSWD
    $MYSQL -u $USERDB -p$PWDDB -e "update ftpusers set password='$PASSWD' where username='$USERNAME'" $DB
    echo
    echo "      Senha Alterada para $PASSWD"
    read f
}

altera_quota(){
    clear
    echo
    echo "      Alterando Quota"
    echo
    $MYSQL -u $USERDB -p$PWDDB -e "select * from ftpusers" $DB
    echo
    echo -n "      Informe o usuario que deseja alterar: "
    read USERNAME
    echo -n "      Informe nova quota(MB): "
    read QUOTA
    sleep 3
    $MYSQL -u $USERDB -p$PWDDB -e "update ftpusers set Quota=$QUOTA where username='$USERNAME'" $DB
    echo 
    echo "      Quota Alterada"
    read f
}

lista_usuario(){
    clear
    echo
    echo "      Listando Usuarios"
    echo
    echo
    $MYSQL -u $USERDB -p$PWDDB -e "select * from ftpusers" $DB
    echo
    echo "      Aperte Enter para sair"
    read f
}
opcao_invalida(){
    echo "#####################################################################"
    echo
    echo "#############Opcao Invalida - Favor digitar uma correta #############"
    echo
    echo "#####################################################################"
    echo
    echo "##################APERTE ENTER PARA CONTINUAR########################"
    read f
    $INICIO
}

clear
echo
echo "         ADMINISTRACAO FTP COM MYSQL"
echo "         NetBSD + PureFTPD + MySQL"
echo 
echo
echo "         1 - Criar Usuario"
echo
echo "         2 - Desativar Usuario"
echo
echo "         3 - Ativar Usuario"
echo
echo "         4 - Alterar Senha"
echo
echo "         5 - Altera Quota"
echo
echo "         6 - Listar Usuarios"
echo
echo "         7 - SAIR"
echo
echo -n "      Informe a opcao desejada: "
read OPT

if [ $OPT -eq 1 ]
then
    criar_usuario
    $INICIO
elif [ $OPT -eq 2 ]
then
    desativa_usuario
    $INICIO
elif [ $OPT -eq 3 ]
then
    ativa_usuario
    $INICIO
elif [ $OPT -eq 4 ]
then
    altera_senha
    $INICIO
elif [ $OPT -eq 5 ]
then
    altera_quota
    $INICIO
elif [ $OPT -eq 6 ]
then
    lista_usuario
    $INICIO
elif [ $OPT -eq 7 ]
then
    exit
else
    opcao_invalida
    read
    $INICIO
fi

Scripts recomendados

CGI + Shell

Desligar o servidor quando todas as estações estiverem desligadas

themepack2txz - Extrair arquivos themepack e criar um pacote TXZ com as imagens

Download automático da 'Imagem do Dia' da NASA

Grave arquivos em pendrive sem sistema de arquivos


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts