1.FTP简介
ftp(File Transfer Protocol文件传输协议)是基于TCP/IP 协议的应用层协议,用于文件的传输,包括ftp服务器(或服务端)和ftp客户端
ftp客户端与服务器创建网络连接,请求登录服务器,登录成功后,就可以进行文件传输,主要包括下载文件和上传文件两种操作。
2.具体搭建步骤
配置虚拟机的网络设置,确保使用桥接模式或NAT模式
安装FTP服务器软件,如FileZilla Server或vsftpd。(Vsftp是一个在Linux操作系统上的运行的FTP服务端程序,具有完全开源及免费、速率高、安全性好,支持IPv6、虚拟用户等其他FTP服务端软件不具有的功能。
# yum -y install vsftpd
安装ftp命令
# yum -y install ftp
安装FTP服务器软件,如FileZilla Server或vsftpd。(Vsftp是一个在Linux操作系统上的运行的FTP服务端程序,具有完全开源及免费、速率高、安全性好,支持IPv6、虚拟用户等其他FTP服务端软件不具有的功能。
# systemctl start vsftpd \\开启服务
# systemctl enable vsftpd \\设置为开机启动
#systemctl stop firewalld.service \\关闭防火墙
#systemctl disable firewalld.service \\禁止防火墙开机启动
#firewall-cmd --reload \\重启防火墙
设置用户登录的不同方式
Vsftpd程序提供的FTP服务分为三种登录认证方式,分别为匿名访问、本地用户和虚拟用户
匿名访问:任何用户无需验证即可登录FTP服务端
本地用户:需要使用FTP服务器中的用户、密码信息
虚拟用户:创建独立的FTP账号信息
安全程度由前到后依次递增,虚拟用户是最安全的
新建测试文件并编辑主配置文件
# touch /var/ftp/pub/sample.tar
# vi /etc/vsftpd/vsftpd.conf
重启FTP服务器
# systemctl restart vsftpd
# systemctl stop firewalld
关闭防火墙和selinux
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
验证:
Win+R
打开运行 输入ftp://192.168.3.10
进入pub目录
配置
1)先添加用户信息
# 创建文件目录
mkdir -p /data/ftp/ftpuser
# 为该目录配置权限
chmod -R 755 /data/ftp/ftpuser
# 新建用户组ftp
groupadd ftp
# 指定用户主目录:/data/ftp/ftpuser -M
# 指定用户的shell: -s /usr/bin/nologin
# 新建用户ftpuser,并且设置不支持ssh系统登录,只能登录ftp服务器
# -g 用户组; -d 指定家目录; -s 不能登陆系统; -M 不创建家目录
useradd -g ftp -d /data/ftp/ftpuser -M -s /usr/bin/nologin ftpuser
==============================================================
# 如果要恢复ftpuser用户的ssh登录(可登入CentOS7系统),执行下面的语句即可
usermod -s /bin/bash ftpuser
# echo "新密码" | passwd --stdin 用户名
echo "ftppassword" | passwd --stdin ftpuse
(2)修改配置文件,路径/etc/vsftpd/ 下的文件
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf #打开配置文件
# 修改这一行代码
anonymous_enable=YES 改为 anonymous_enable=NO # 禁止匿名登录
# 添加一行代码
allow_writeable_chroot=YES # 允许登录用户的写入操作
# 在配置文件中找到以下几行代码, 去掉注释(去掉 "#"号)
chroot_list_enable=YES # 表示对用户访问进行限制
chroot_list_file=/etc/vsftpd/chroot_list # 对chroot_list下用户限制
chroot_local_user=YES # 允许本地账户登录
[root@localhost ~]# vim /etc/vsftpd/chroot_list
# 增加一行代码 (即是允许登录的用户)
fdwftp
# ESC + :wq //保存退出
[root@localhost ~]# systemctl restart vsftpd.service #重启服务