CentOS 离线安装Ftp

1、下载、安装ftp

下载ftp安装包,可以从rpm下载站搜索合适的版本,使用wget命令下载。

wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/vsftpd-3.0.2-28.el7.x86_64.rpm

安装:

rpm -ivh vsftpd-3.0.2-28.el7.x86_64.rpm

2、配置ftp

2.1、创建用户、授权目录

# 创建目录
mkdir -p /home/vsftpd_files
# 创建用户
useradd -g ftp ftp_root
# 修改密码
passwd ftp_root
EP7fXKdniOvRfI3p
# 授权目录给用户
chown -R ftp_root:ftp /home/vsftpd_files

2.2、配置修改

常见配置介绍

2.2.1、修改配置如下

# 备份配置
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

# 添加新配置
vi /etc/vsftpd/vsftpd.conf
# 修改为NO,关闭匿名用户访问
anonymous_enable=NO

#允许本地用户登录FTP服务器
local_enable=YES

# 本地用户是否允许上传
write_enable=YES

# 设置系统用户FTP主目录
local_root=/home/vsftpd_files

# 本地用户上传的权限默认是022,则目录的权限是755(777-022=755),文件权限是644(666-022=644)
local_umask=022

#用户登陆成功后是否显示欢迎消息或者警告消息。
dirmessage_enable=YES

# 激活记录日志,对于一个服务来说,日志是肯定且必须的。
xferlog_enable=YES

# 主动模式数据传输接口时是否开启。如果是主动模式,则为YES,不需要更改。
connect_from_port_20=YES

# 是否使用标准的FTP日志格式。
xferlog_std_format=YES

#监听IPv4 sockets。
listen=YES

#关闭ipv6监听
listen_ipv6=NO

# Linux的用户名与密码默认采用的是PAM验证,这里ftp默认采用的就是PAM验证
pam_service_name=vsftpd

# 用户限制或者说黑名单是否开启,单写这个没有任何的意义。
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list

#一个tcp简单的防火墙。
tcp_wrappers=YES

#开启被动模式。
pasv_enable=YES

# 配置FTP被动模式的端口
pasv_min_port=30000
pasv_max_port=30000

2.2.2、授权ftp白名单

# 编辑白名单 
vi /etc/vsftpd/user_list

将允许访问ftp的用户(即2.1创建的用户)添加至文件内:

# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
ftpuser
ftp
root
ftp_root

修改好所有配置后,重启vsftpd

systemctl restart vsftpd

2.2.3、授权ftp黑名单

# 编辑黑名单
vi /etc/vsftpd/ftpusers

将用户添加到此文件标识不允许访问

当用户同时在白名单和黑名单,则不允许访问。

2.3、常用命令

重启FTP服务

systemctl restart vsftpd

常用命令:

# 查看状态
systemctl status vsftpd
# 启动
systemctl start vsftpd
# 重启
systemctl restart vsftpd
# 开机自启
systemctl enable vsftpd
# 关闭开机自启
systemctl disable vsftpd
# 停止
systemctl stop vsftpd

2.4、关闭防火墙

如果你的ftp不能正常访问, 你需要注意两个东西:防火墙和Selinux。这两个会对很多服务造成影响,在Test时,需要关闭。

关闭Selinux:用sestatus命令查看Selinux的状态,永久关闭就去配置文件中修改SELINUX=disabled,然后重启。

关闭Selinux:

setenforce 0

vi /etc/selinux/config

SELINUX值改为disabled

关闭防火墙:

#开启21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
#开启30000端口
firewall-cmd --zone=public --add-port=30000/tcp --permanent
#刷新配置
firewall-cmd --reload

参考:高可用ftp、sftp服务器的搭建

参考:vsftp服务3——配置文件详解

参考:Vsftp服务2——安装和相关文件