exit 1
fi
case "$action" in
add)
if [ `grep -c ^$username /etc/ftpusers` -ge 1 ] ; then
echo -e "\007\nUser $username does exist in deny-userlist !\nTry another user"
else
echo "$username" >> /etc/ftpusers
echo -e "User $username added to deny-userlist !"
fi
;;
del)
grep -v ^$username /etc/ftpusers > /etc/ftpusers.tmp
mv -f /etc/ftpusers.tmp /etc/ftpusers
echo "User $username deleted from deny-userlist !"
;;
*)
echo -e "\007Usage: $0 denyuser "add/del" username"
;;
esac
}
denyhost(){
if [ $arg_count -ne 5 ] ; then
echo -e "\007\nUsage: $0 denyhost add/del allow/deny username hostname !\n"
exit 1
fi
if [ -f /etc/ftphosts ] ; then
echo -e "\nDeny-hostlist file ready !"
else
echo "Deny-hostlist file not found !"
touch /etc/ftphosts
chmod 0600 /etc/ftphosts
echo "Create it(/etc/ftphosts) succeed !"
fi
case "$action" in
add)
if [ `grep -w $hostname /etc/ftphosts | grep -w -c $username` -ge 1 ] ; then
echo -e "\007\nDeny-rule "$rule $username $hostname" does exist in deny-hostlist!\nTry another rule"
else
echo -e "$rule\t$username\t$hostname" >> /etc/ftphosts
echo -e "Deny-rule "$rule $username $hostname" added to deny-hostlist !"
fi
;;
del)
if [ `grep $hostname /etc/ftphosts |grep -c $username` -lt 1 ] ; then
echo -e "\007\nDeny-rule "$rule $username $hostname" does not exist in deny-hostlist!\nTry another rule"
else
grep -w -v $username /etc/ftphosts > /etc/ftphosts.tmp
grep -w $username /etc/ftphosts |grep -v $hostname$ >> /etc/ftphosts.tmp
mv /etc/ftphosts.tmp /etc/ftphosts
echo -e "\nDeny-reul "$rule $username $hostname" deleted from deny-hostlist !"
fi
;;
*)
echo -e "\007\nUsage: $0 denyhost add/del allow/deny username hostname !\n"
;;
esac
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
userconf)
if [ $arg_count -lt 2 ] ; then
echo -e $"\007Usage: $0 userconf username"
exit 1
fi
username=$2
userconf
;;
mini)
arg_type=$2
arg_addr=$3
mini
;;
limit)
arg_class=`grep ^class /etc/ftpaccess |tr -s "[ ]" |cut -f 2 -d " "|cut -f 2`
arg_user_count=$2
times=$3
limit
;;
loginfails)
failed_count=$2
loginfails
;;
view)
view
;;
access)
access
;;
message)
message
;;
guest)
username=$2
guest
;;
denyuser)
action=$2
username=$3
denyuser
;;
denyhost)
if [ $arg_count -ne 5 ] ; then
echo -e "\007\nUsage: $0 denyhost add/del allow/deny username hostname !\n"
exit 1
fi
action=$2
rule=$3
username=$4
hostname=$5
denyhost
;;
*)
echo -e $"\007Usage:\n\t$0 {start|stop|restart|status|userconf|mini|limit|loginfails\n\t\t\t |view|access|message|guest|denyuser|denyhost}"
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




