vsftp用户增减与权限管理脚本
发布时间:2020-12-31 23:40:07
作者:ynkulusi
vsftp用户与权限管理脚本
#!/bin/bash
#
echo "-------------------------------------------"
echo "本脚本可添加或删除单个FTP用户..."
echo -e "-------------------------------------------\n"
adduser(){
echo -n "请输入要添加的用户名:";read add_name
grep -q "$add_name" /etc/vsftpd/vsftpd_login_old.txt && echo -e "\033[31;1m该用户已经存在,请确认!\033[0m" && exit 1
echo -n "请输入访问目录的完整路径(默认:/home/virtual):";read dir
echo -n "是否赋予管理员权限[Y/N]:";read manage
[ -z $dir ] && dir=/home/virtual
password=$(mkpasswd -l 8 -C 2 -d 2 -c 4 -s 0)
echo -e $add_name >> /etc/vsftpd/vsftpd_login_old.txt
echo -e $password >> /etc/vsftpd/vsftpd_login_old.txt
mv /etc/vsftpd/vsftpd_login.db /etc/vsftpd/ftp_db_back/vsftpd_login_`date +%Y%m%d-%H%M`.db
db_load -T -t hash -f /etc/vsftpd/vsftpd_login_old.txt /etc/vsftpd/vsftpd_login.db
[ ! -d $dir ] && mkdir -p $dir && chmod 755 $dir
cp /etc/vsftpd/config/template /etc/vsftpd/config/$add_name
[ $manage == "Y" ] &> /dev/null || [ $manage == "y" ] &> /dev/null && sed -i 's/NO/YES/g;' /etc/vsftpd/config/$add_name
echo -e "local_root=$dir" >> /etc/vsftpd/config/$add_name
set timeout 1
echo -e "用户\033[32;1m$add_name\033[0m已经能够访问\033[31;1m$dir\033[0m目录了."
echo -e "密码为: \033[33;1m$password\033[0m"
}
deluser(){
echo -n "请输入要删除的用户名:";read del_name
if grep -q "$del_name" /etc/vsftpd/vsftpd_login_old.txt ;then
sed -i '/'$del_name'/,+1d' /etc/vsftpd/vsftpd_login_old.txt
mv /etc/vsftpd/vsftpd_login.db /etc/vsftpd/ftp_db_back/vsftpd_login_`date +%Y%m%d-%H%M`.db
db_load -T -t hash -f /etc/vsftpd/vsftpd_login_old.txt /etc/vsftpd/vsftpd_login.db
rm -rf /etc/vsftpd/config/$del_name
set timeout 1
echo -e "用户\033[32;1m$del_name\033[0m已经被删除了."
else
echo -e "\033[31;1m该用户不存在,请确认!\033[0m" && exit 1
fi
}
read -p "添加用户(A),删除用户(D),请选择:" operate
case $operate in
A|a)
adduser ;;
D|d)
deluser ;;
*)
echo "输入错误,取消本次操作!"
exit 5
;;
esac
分类:bash
评论数:0
阅读数:811