Centos7 自动化部署vsftpd服务

      之前部署过几次ftp 服务器,但是各种配置很容易绕晕,这里做一下汇总 和 记录

首先 想要了解 vsftp 的配置说明, 可以看这篇博文   https://blog.51cto.com/meiling/2071122

了解 vsftpd 530 Login incorrect  登录验证错误的原因, 可以参考 这篇 https://www.jianshu.com/p/91c7d4a115e0

了解 /etc/pam.d/vsftpd 文件对登录用户的限制的详细讲解, 可以参考这篇  
https://www.cnblogs.com/kevingrace/p/8671964.html

在说明脚本之前,先说明下如何安装 vsftpd:

 有网的时候,我们可以直接 yum install vsftpd -y

 然而,很多时候内网环境下无法联网,可以在有网的环境下 使用 如下的命令将相应的rpm包下载到指定目录,

yum install vsftpd -y --downloadonly --downloaddir=/root/ftp

再用 rpm -Uvh /root/ftp/*.rpm    安装就可以了

 

vsftpd 的部署脚本如下, 资源下载可见  链接: https://download.csdn.net/download/u012871914/11605441

#! /bin/sh

LOG_INFO() {
	for i in `seq -w 3 -1 0`; do     echo -en " \e[0;31m$i\e[0m second to wait 【$1】\r"  ;   sleep 1; done
}

CURRENT_DIR=`pwd`

LOG_INFO "start ftp install--------------"

# 建立 ftpuser 的home 目录
mkdir -p /data10/website/upload/ftpuser
#新建ftpuser用户,该用户不能登陆
useradd -d /data10/website/upload/ftpuser -s /sbin/nologin  -M ftpuser

#为ftpuser用户设置密码
echo ftpuser:admin123 | chpasswd

chown ftpuser:ftpuser /data10/website/upload/ftpuser -R

rpm -ivh ftp-0.17-51.1.el6.x86_64.rpm
rpm -ivh vsftpd-2.2.2-6.el6_0.1.x86_64.rpm

#修改ftp默认配置
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/g' /etc/vsftpd/vsftpd.conf 

# 关闭 selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

#修改ftpserver配置
echo "chroot_list_enable=YES" >> /etc/vsftpd/vsftpd.conf 
echo "chroot_list_file=/etc/vsftpd/chroot_list" >> /etc/vsftpd/vsftpd.conf 

#修改chroot_list文件,添加用户ftpuser
touch /etc/vsftpd/chroot_list
echo "ftpuser" > /etc/vsftpd/chroot_list 

#配置ftp服务开机自动启动,并启动服务
chkconfig --level 2345 vsftpd on
LOG_INFO "end ftp install--------------"

# 修改权限限制文件/etc/pam.d/vsftpd,使得无shell登陆权限的用户能够登陆ftp服务器
cd $CURRENT_DIR
#sed -i '/pam_shells.so/d' /etc/pam.d/vsftpd
sed -i 's/pam_shells.so/pam_nologin.so/g' /etc/pam.d/vsftpd

#设置防火墙
systemctl stop firewalld.service 
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
service iptables save

systemctl start vsftpd.service

 

你可能感兴趣的:(服务器运维)