david/scripts-archive
david
/
scripts-archive
Archived
1
0
Fork 0
This repository has been archived on 2022-04-16. You can view files and clone it, but cannot push or open issues or pull requests.
scripts-archive/ftpsftp/ftpsftp.sh

117 lines
2.5 KiB
Bash
Executable File

#!/bin/bash
#################################################
## ##
## FTPsFTP ##
## standalone ftp/sftp server solution ##
## ##
#################################################
# **** do not touch as long as you are not me ****
version="v0.5_beta"
author="david@socialnerds.org"
giturl="git://git.socialnerds.org/ftpsftp.git"
logwhat="ftpsftp"
log2stdout="1"
functionfile="/opt/ftpsftp/ftpsftp.func"
configfile="/etc/ftpsftp.conf"
# **** read function definitions and config file ****
if [ -r $functionfile ]; then
source $functionfile
else
echo "error: functionfile not found."
exit 1
fi
if [ -r $configfile ]; then
source $configfile
else
echo "error: configuration file not found."
exit 1
fi
# **** load bashlib ****
# need for some better routine to include bashlib
if [ -d $bashlibpath ]; then
source $bashlibpath/main
source $bashlibpath/logengine
log debug "preflight - logengine loaded"
else
echo "ERROR: bashlib not found"
exit 1
fi
# **** processing options ****
while getopts "h,s,a:,d:,r:,q:,u,v" OPTION; do
case $OPTION in
h)
usage
exit 0
;;
s)
stats
exit 0
;;
a)
accname=$OPTARG
run="yes"
while [ $run = "yes" ]; do
add
echo "do you want to create another user? (yes/no)"
read run
if [[ $run = "yes" ]] || [[ $run = "y" ]]; then
echo "specify account name"
read accname
run="yes"
fi
done
exit 0
;;
d)
accname=$OPTARG
delete
exit 0
;;
r)
accname=$OPTARG
accpass=$(setpasswd)
echo "the new password for user $accname is: $accpass"
exit 0
;;
q)
accname=$OPTARG
quotaconf
exit 0
;;
u)
update
exit 0
;;
v)
version
exit 0
;;
?)
usage
exit 1
;;
esac
done
# **** print usage message if no option is given ****
if [ -z $1 ]; then
usage
exit 1
fi
# **** end of script ****
exit 0