一.FTP 服务介绍

  1. FTP是File Transfer Protocol(文件传输协议)的英文缩写,用于Internet上的控制文件的双向传输。同时,它也是一个应用程序。基于不同的操作系统有不同的引用程序,而所有的这些引用程序都遵循同一种协议以传输文件。 (文件位置:vim /etc/vsftpd/vsftpd.conf)
  2. FTP用户类型
    (1)匿名用户:anonymous或ftp 启用:anonymous_enable=YES
    (2)本地用户:账号名称、密码等信息保存在passwd/shadow文件中 启用:local_enable=YES
    (3)虚拟用户:使用独立的账号/密码数据文件

主动模式端口分配:控制端口 21 数据传输端口 20 主动FTP对FTP服务器的管理有利,但对客户端的管理不利
被动模式端口分配:控制端口21 数据传输端口随机 被动FTP对FTP客户端的管理有利,但对服务器端的管理不利
3.FTP传输模式
FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式。
文本模式:ASCII模式,以文本序列传输数据
二进制模式:Binary模式,以二进制序列传输数据
二. FTP服务器基本配置
注:由于FTP的文件传输是明文方式,具有一定的危险性,所以就诞生了一种更加安全的传输方式vsftp。vsftpd是一个基于GPL发布的FTP服务器软件,安全性高,是RedHat linux默认的FTP服务终端软件。
(1)配置拥有所有权限的匿名用户:
[root@localhost ~]# yum install vsftpd 安装vsftpd
[root@localhost ~]# mkdir -p /home/vsftpd/files
[root@localhost ~]# chmod -R 755 /home/vsftpd/
[root@localhost ~]# chmod -R 777 /home/vsftpd/files/
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf 修改vsftpd配置文件

anonymous_enable=YES 启用匿名访问
anon_upload_enable=YES 允许匿名用户可上传文件
anon_mkdir_write_enable=YES 允许匿名用户可创建目录
anon_other_write_enable=YES 开放其他写入权比如改名,需要手动添加
anon_world_readable_only=NO 只要FTP用户对文件有读权限即可下载

[root@localhost ~]# service vsftpd start
Redirecting to /bin/systemctl start vsftpd.service
[root@localhost ~]# ps -ef | grep vsftpd
root 1823 1 0 13:37 ? 00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftp .conf
root 1961 1680 0 13:54 pts/0 00:00:00 grep --color=auto vsftpd

在windows上测试: ftp://192.168.19.152/

LINUX FTP服务器可以保存镜像吗_数据传输


(2)配置本地用户:

创建本地用户名和密码

在windows端登录:

LINUX FTP服务器可以保存镜像吗_vim_02


在linux端登录:

LINUX FTP服务器可以保存镜像吗_LINUX FTP服务器可以保存镜像吗_03


将系统用户禁锢在其家目录:

设置chroot_local_user=YES

local_root_user=YES

(3)设置用户列表:

/etc/vsftpd/ftpusers ---->禁止登录ftp(黑名单!!且优先级高于user_list)

userlist_enable=YES :user_list 功能生效
① userlist_deny=YES
/etc/vsftpd/user_list 转化为→ #黑名单
②userlist_deny=NO
/etc/vsftpd/user_list   转化为→  #白名单