搭建FTP 服务 脚本
程序员文章站
2022-07-15 16:26:21
...
#!/usr/bin/bash
#安装VSFTPD服务并使用匿名用户登录
#关闭sellinux
echo "
--------------------------------
+ FTP 服务搭建 +
1.关闭SElinux/防火墙
2.安装vsftpd
3.启用文件上传功能
4.创建上传目录
5.修改主配置文件
6.设置开机启动
--------------------------------
"
setenforoe 0
sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
if [ $? -ne 0 ];then
echo "执行命令失败"
else
echo "SELINUX关闭成功"
fi
#关闭防火墙
systemctl stop firewalld
if [ $? -ne 0 ];then
echo "关闭防火墙失败"
else
echo "关闭防火墙成功"
fi
echo "-----------------------------"
#yum安装vsftpd
yum -y install vsftpd &>/dev/null
if [ $? -eq 0 ];then
echo "vsftpd安装完成。"
else
echo "vsftpd安装失败。"
fi
#是否启用上传文件的功能
read -p "启用上传文件的能力(y/n):" upload
if [[ "${upload}" == y ]];then
echo "anon_upload_enable=YES" >> /etc/vsftpd/vsftpd.conf
echo "成功!"
fi
#是否启用创建目录的能力
read -p "启用创建目录的能力(y/n):" mkdir
if [[ "${mkdir}" == y ]];then
echo "anon_mkdir_write_enable=YES" >> /etc/vsftpd/vsftpd.conf
echo "成功!"
fi
#创建上传目录
read -p "创建上传目录(y/n):" mkdir2
if [[ "${mkdir2}" == y ]];then
read -p "目录名:" mkname
if [ "${mkname}" -le 0 ];then
echo "请输入目录名"
else
mkdir /var/ftp/${mkname}
chmod 777 /var/ftp/${mkname}
echo "目录/var/ftp/${mkname}创建成功"
fi
fi
#最后修改主配置文件
sed -i 's/anonymous_enable=NO/anonymous_enable=YES/' /etc/vsftpd/vsftpd.conf
sed -i 's/#ascii_upload_enable=YES/ascii_upload_enable=YES/' /etc/vsftpd/vsftpd.conf
sed -i 's/#ascii_download_enable=YES/ascii_download_enable=YES/' /etc/vsftpd/vsftpd.conf
echo "guest_enable=YES" >> /etc/vsftpd/vsftpd.conf
echo "guest_username=vsftpd" >> /etc/vsftpd/vsftpd.conf
echo "user_config_dir=/etc/vsftpd/userconf" >> /etc/vsftpd/vsftpd.conf
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf
echo "virtual_use_local_privs=YES" >> /etc/vsftpd/vsftpd.conf
systemctl start vsftpd
#增加开机启动
systemctl enable vsftpd
if [ $? -eq 0 ]
then
echo "vsftpd配置完成。"
echo "vsftpd服务已启动。"
else
echo "vsftpd配置失败。"
fi