centos6上快速安装vsftpd工具

简介

经常玩linux的对vsftpd这个工具不会陌生,vsftpd是一个类Unix系统以及Linux上的FTP服务器软件,安全性是最

大的特点,并且小巧轻快,完全免费开源。浪费人力的配置我这里就不介绍了,有机会再写,这里直接上一键脚本。

 

 

教程

测试环境:centos6 x64 centos6 x86(测试centos7以上无法安装)

脚本代码如下,可以复制下面的脚本保存为vsftpd.sh然后开始运行

#!/bin/bash
Stack=$1
if [ "${Stack}" = "" ]; then
 Stack="install"
else
 Stack=$1
fi
install_vsftp()
{
 echo "#######################"
 echo -e "\033[33mUsage: $0 {install|add|uninstall}\033[0m"
 echo -e "\033[33msh $0 (default:install)\033[0m"
 echo -e "\033[33msh $0 add (Add FTP user)\033[0m"
 echo -e "\033[33msh $0 uninstall (Uninstall FTP)\033[0m"
 echo "#######################"
 A=`head -c 500 /dev/urandom | tr -dc a-zA-Z | tr [a-z] [A-Z]|head -c 1`
 B=`head -c 500 /dev/urandom | tr -dc a-z0-9A-Z | head -c 6`
 C=`echo $RANDOM|cut -c 2`
 rpm -q vsftpd
 if [ "$?" -eq "0" ]; then
 echo "You have to install VSFTPD!"
 else
 netstat -ntulp |grep -w 21
 if [ "$?" -eq "0" ]; then
 echo "Other FTP is already installed"
 else
 read -p "The FTP access directory(default:/home): " directory
 if [ "${directory}" != "" ]; then
 directorys="${directory}"
 else
 directorys="/home"
 fi
 read -p "Please enter the FTP user: " ftp_user
 read -p "Enter the FTP password(default:$A$B$C): " ftp_pass
 if [ "${ftp_pass}" != "" ]; then
 ftp_passa="${ftp_pass}"
 else
 ftp_passa="$A$B$C"
 fi
 yum -y install vsftpd
 if [ "$?" -eq "0" ]; then
 if [ -d ${directorys} ]; then
 chmod -R 777 ${directorys}
 fi
 useradd -d ${directorys} -g ftp -s /sbin/nologin ${ftp_user}
 echo "${ftp_passa}" | passwd --stdin ${ftp_user} > /dev/null
 sed -i 's/^anonymous_enable=YES/anonymous_enable=NO/g' /etc/vsftpd/vsftpd.conf
 sed -i 's/^#chroot_local_user=YES/chroot_local_user=YES/g' /etc/vsftpd/vsftpd.conf
 sed -i 's/^#chroot_list_enable=YES/chroot_list_enable=YES/g' /etc/vsftpd/vsftpd.conf
 echo "userdel ${ftp_user}" >> /etc/vsftpd/user_list.sh
 echo "" > /etc/vsftpd/chroot_list
 chkconfig vsftpd on
 service vsftpd restart
 echo "###################################"
 echo "FTP user:${ftp_user}"
 echo "Ftp password:${ftp_passa}"
 echo "The FTP directory:${directorys}"
 echo "-----------------------------------"
 else
 echo "VSFTPD installation failed!"
 fi
 fi
 fi
}
add_ftp()
{
 A=`head -c 500 /dev/urandom | tr -dc a-zA-Z | tr [a-z] [A-Z]|head -c 1`
 B=`head -c 500 /dev/urandom | tr -dc a-z0-9A-Z | head -c 6`
 C=`echo $RANDOM|cut -c 2`
 read -p "The FTP access directory(Such as:/home): " directory
 if [ "${directory}" != "" ]; then
 directorys="${directory}"
 else
 directorys="/home"
 fi
 read -p "Please enter the FTP user: " ftp_user
 read -p "Enter the FTP password(default:$A$B$C): " ftp_pass
 if [ -d ${directorys} ]; then
 chmod -R 777 ${directorys}
 fi
 useradd -d ${directorys} -g ftp -s /sbin/nologin ${ftp_user}
 if [ "${ftp_pass}" != "" ]; then
 ftp_passa="${ftp_pass}"
 else
 ftp_passa="$A$B$C"
 fi
 echo "${ftp_passa}" | passwd --stdin ${ftp_user} > /dev/null
 echo "userdel ${ftp_user}" >> /etc/vsftpd/user_list.sh
 if [ -d ${directorys} ]; then
 chmod -R 777 ${directorys}
 fi
 echo "###################################"
 echo "FTP user:${ftp_user}"
 echo "Ftp password:${ftp_passa}"
 echo "The FTP directory:${directorys}"
 echo "-----------------------------------"

}
uninstall_ftp()
{
yum -y remove vsftpd*
sh /etc/vsftpd/user_list.sh
echo "" > /etc/vsftpd/user_list.sh
}
case "${Stack}" in
 install)
 install_vsftp
 ;;
 add)
 add_ftp
 ;;
 uninstall)
 uninstall_ftp
 ;;
 *)
 echo "Usage: $0 {install|add|uninstall}"
 ;;
esac

也可以刷下面的一键配置脚本

wget http://www.tieww.com/soft/vsftp_root.sh && sh vsftp_root.sh

vsftpd脚本功能:

1.安装 (命令执行:sh vsftpd.sh)

2.添加ftp用户 (命令执行:sh vsftpd.sh add)

3.卸载vsftpd (命令执行:sh vsftpd.sh uninstall)
THE END