#/bin/bash
#2020年7月24日
#自动安装vsftp,并且询问是否开启相应功能
#######################################
function Set_service(){
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
}
function Install_vsftpd(){
while true
do
echo -e "\033[35m 1: Install vsftp \033[0m"
echo -e "\033[35m 2: Set vsftp \033[0m"
echo -e "\033[35m 0: Exit \033[0m"
read -p "请输入对应的数字:" INPUT
case $INPUT in
1)
yum install -y vsftpd*
systemctl start vsftpd && systemctl enable vsftpd
;;
2)
while true
do
read -p "是否设置用户(y/n)" INPUT
if [[ $INPUT == 'y' || $INPUT == 'Y' ]];then
while true
do
read -p "请输入用户名,以空格间隔:" INPUT
for USER in ${INPUT[*]}
do
useradd $USER
read -p "请输入${USER}的密码:" PASSWD
echo $PASSWD | passwd --stdin $USER
done
break
done
cd /etc/vsftpd/
mkdir -p back/$(date +%y%m%d)
cp vsftpd.conf back/$(date +%y%m%d)/vsftpd.conf.$(date +%H%M)
sed -i "s/^anonymous_enable=YES/anonymous_enable=NO/g" vsftpd.conf
systemctl restart vsftpd
fi
if [[ $INPUT == 'n' || $INPUT == 'N' ]];then
while true
do
read -p "是否需要开启匿名上传功能(y/n)" UPLOAD
if [[ $UPLOAD == 'y' || $UPLOAD == 'Y' ]];then
cd /etc/vsftpd/
mkdir -p back/$(date +%y%m%d)
cp vsftpd.conf back/$(date +%y%m%d)/vsftpd.conf.$(date +%H%M)
cat>>vsftpd.conf<<EOF
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
EOF
chmod o+w /var/ftp/pub/
systemctl restart vsftpd
echo "已为你开启匿名功能"
break
fi
if [[ $UPLOAD == 'n' || $UPLOAD == 'N' ]];then
break
fi
done
while true
do
read -p "是否设置目录(y/n)" INPUT
if [[ $INPUT == 'y' || $INPUT == 'Y' ]];then
read -p "请输入目录名称,以空格间隔:" INPUT
for catalog in ${INPUT[*]}
do
mkdir -p $catalog
chmod o+w $catalog
done
break
fi
if [[ $INPUT == 'n' || $INPUT == 'N' ]];then
exit 1
fi
done
fi
done
;;
0)
exit
;;
*)
echo -e "\033[32m 请输入0-2 \033[0m"
;;
esac
done
}
Set_service && \
Install_vsftpd
shell脚本:新建vsftp,并询问是否设置用户或者匿名
最新推荐文章于 2023-04-01 10:48:52 发布