Vamos falar sobre a instalação de um servidor ftp usando NetBSD, que tentando aproveitar sua portabilidade e sua robustez, quem sabe não rola instalar um servidor de ftp na geladeira ou no fogão? hehehe...
Bom, agora vamos ao script que acabei de escrever agora.... hehehehe. E testado, totalmente testado.
#!`which bash`
#
# Script criado para administrar contas do servidor de ftp
# que estão 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=XXXXXXX
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
}
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
Agora é só editar as informações no início do script no lugar do XXXXXX. Demorei mais tempo escrevendo esse script do que implementando o servidor. hehehe.