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 /data/ftp_files
# 创建用户
useradd -g ftp ftp_root
# 修改密码
passwd ftp_root
syspass123
# 授权目录给用户
chown -R ftp_root:ftp /data/ftp_files
2.2、配置修改
常见配置介绍
2.2.1、修改配置如下
# 备份配置
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
#ftp限制访问目录用户
vi /etc/vsftpd/vsftpd.chroot_list
#用户名
ftp_root
# 添加新配置
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
#限制访问自身目录
chroot_list_enable=YES
#将受限制的用户添加进去,每个用户名一行
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
allow_writeable_chroot=YES
#命令通道访问端口,默认为21
#listen_port=2121
#数据通道端口,默认为20
#listen_data_port=5020
#用户宽带限制
#local_max_rate=200000
#禁用户离开主目录
#chroot_local_user=YES
#让他监听ip:192.168.0.21
#listen_address=192.168.0.21
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、常用命令
# 查看状态
systemctl status vsftpd
# 启动
systemctl start vsftpd
# 重启
systemctl restart vsftpd
# 开机自启
systemctl enable vsftpd
# 关闭开机自启
systemctl disable vsftpd
# 停止
systemctl stop vsftpd
2.4、关闭防火墙和Selinux
如果你的ftp不能正常访问, 你需要注意两个东西:防火墙和Selinux。这两个会对很多服务造成影响,在Test时,需要关闭。
关闭Selinux:用sestatus命令查看Selinux的状态
永久关闭就去配置文件中修改SELINUX=disabled,然后重启。
关闭Selinux:
#设置SELinux 成为permissive模式 临时关闭se
setenforce 0
#永久关闭方式一:
vi /etc/selinux/config
SELINUX值改为disabled
#永久关闭方式二:
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
关闭防火墙:
#开启21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
#开启30000端口
firewall-cmd --zone=public --add-port=30000/tcp --permanent
#刷新配置
firewall-cmd --reload
标签:FTP,enable,ftp,etc,离线,用户,centos7,vsftpd,YES
From: https://blog.csdn.net/qq_36845831/article/details/137112027