一、准备环境
1.软件准备
- OS版本:centos-release-7-8.2003.0.el7.centos.x86_64
- vsftp版本:vsftpd-3.0.2-28.el7.x86_64.rpm
rpm -q centos-release #查看OS版本
2.检查是否已安装
rpm -qa | grep vsftpd
二、下载及安装
方式一:yum下载及安装
yum -y install vsftp
方式二:yumdownloade下载及安装
# 1.安装yumdownloade插件
yum install yum-utils -y
# 2.列出能联网系统的所有可安装的vsftpd软件
yum list | grep vsftpd
# 3.下载到指定目录
下载软件包vsftpd.x86_64及依赖到指定目录(当前目录)
yumdownloader vsftpd.x86_64 --resolve --destdir=.
yumdownloader vsftpd-sysvinit.x86_64 --resolve --destdir=.
# 4. 安装:
rpm -ivh --replacefiles /root/vsftpd*.rpm
方式三:离线
- 下载地址:https://pkgs.org/download/vsftpd
- 下载:vsftpd-3.0.2-28.el7.x86_64.rpm
- 安装:rpm -ivh --replacefiles /root/vsftpd*.rpm
三、配置
1.配置开机启动
(1)查看vsftp服务状态
# 查看状态
service vsftpd status
#开启
service vsftpd start
#停止
service vsftpd stop
#重启
service vsftpd restart
(2)设置开机启动
# 查看是否开机启动:
systemctl is-enabled vsftpd.service
# 设置开机自启动:
systemctl enable vsftpd.service
# 查看开机启动服务列表:
systemctl list-unit-files|grep enabled
# 查看启动失败的服务列表:
systemctl --failed
2.防火墙设置
方式一:关闭防火墙
# 1.查看防火墙状态
systemctl status firewalld.service
# 2.关闭防火墙
systemctl stop firewalld.service
方式二:防火墙开放端口
# 暂时开放
firewall-cmd --add-service=ftp
# 永久开放
firewall-cmd --add-service=ftp --permanent
# 使配置生效
firewall-cmd --reload
# 查看服务
firewall-cmd --list-service
3.vsftp.conf配置
查看原始配置:cat /etc/vsftpd/vsftpd.conf |grep -v ^#
# vsftp.conf原始配置
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
# 1.配置前先备份:
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
# 2.编辑内容
vi /etc/vsftpd/vsftpd.conf
vsftpd.conf内容(此内容仅支持本地用户)如下:
#设置为NO代表不允许匿名
anonymous_enable=NO
#设定本地用户可以访问
local_enable=YES
#可以进行写的操作
write_enable=YES
#设定上传文件的权限掩码
local_umask=022
#设定上传文件的权限掩码
dirmessage_enable=YES
#设定端口20进行数据连接
connect_from_port_20=YES
listen=YES
listen_ipv6=NO
#设定pam服务下的vsftpd验证配置文件名,文件默认地址再/etc/pam.d/vsftpd
pam_service_name=vsftpd
userlist_enable=NO
userlist_deny=NO
tcp_wrappers=YES
#设定开启日志记录功能
xferlog_enable=YES
#设定vsftpd服务日志保存路劲
xferlog_file=/var/log/xferlog
#设定日志使用标准的记录格式
xferlog_std_format=YES
4.配置vsftpd文件
# 1.备份vsftpd文件:
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.backup
# 2.编辑vsftpd文件:
vi /etc/pam.d/vsftpd
# 3.修改内容:
pam_shells.so改为pam_nologin.so
# 4.重启服务
systemctl restart vsftpd.service
5.创建本地用户
# 1.创建不需要登录的本地用户
useradd -s /sbin/nogin ftp1
# 2.给新建用户设置密码
passwd ftp1
# 3.查询用户
getent passwd
# 4.删除用户
userdel -r user
6.登录验证
linux登录验证
# 1.需要先安装ftp插件,检查
[root@localhost vsftpd]# ftp 192.168.17.88
-bash: ftp: command not found
# 2.安装ftp客户端
yum install ftp -y
# 3.登录
[root@CDH103 ~]# ftp 192.168.17.60
Connected to 192.168.17.60 (192.168.17.60).
220 (vsFTPd 3.0.2)
Name (192.168.17.60:root): ftp1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ?
# 4.ftp命令输入?可以查看命令;常用命令如下:
cd #切换目录
ls #查看列表
pwd #查看当前目录
get file #下载文件
put file #上传文件
mkdir file #创建文件或目录
rename file newfile #修改文件名
delete file #删除文件
quit #退出
bye #退出