1.FTP简介
ftp(File Transfer Protocol文件传输协议)是基于TCP/IP 协议的应用层协议,用于文件的传输,包括ftp服务器(或服务端)和ftp客户端
ftp客户端与服务器创建网络连接,请求登录服务器,登录成功后,就可以进行文件传输,主要包括下载文件和上传文件两种操作。
2.具体搭建步骤
虚拟机搭建FTP服务器的步骤如下:
- 配置虚拟机的网络设置,确保使用桥接模式或NAT模式。
- 安装FTP服务器软件,如FileZilla Server或vsftpd。(Vsftp是一个在Linux操作系统上的运行的FTP服务端程序,具有完全开源及免费、速率高、安全性好,支持IPv6、虚拟用户等其他FTP服务端软件不具有的功能。
[root@localhost ~]# yum -y install vsftpd
- 查看一下vsftpd的状态,确定服务是否启动 --dead说明未启动
-
我们需要手动开启服务,并且可设置为开机启动(自己所需要的都可设置为开机启动)
[root@localhost ~]# systemctl start vsftpd.service # 启动服务 systemctl stop vsftpd.service # 停止服务 systemctl restart vsftpd.service # 重启服务 systemctl status vsftpd.service # 查看服务状态 systemctl enable vsftpd.service # 设置开机自启动vsftpd服务 systemctl disable vsftpd.service # 禁用开机自启动vsftpd服务
5.配置
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 #重启服务
测试: