Linux系统的FTP文件传输服务

一.FTP简介

Linux环境下高性能的FTP命令行工具,能够利用FTP协议进行高效的文件传输管理。借助此强大工具,用户能轻松连接远程服务器,执行上传、下载、删除及重命名等操作,显著提高两台设备间的文件交互效率。

1.FTP什么

ftp是一种文件传输协议

2.FTP的作用

用来上传和下载,实现远程共享文件,和统一管理文件

3.FTP属于什么层

应用层

4.FTP的端口号

端口号:21     主动模式下端口号:20    被动模式下:随机端口

5.FTP的连接方式的两个阶段

(1)管理连接:客户端使用随机端口(端口号值大于1024,也被称为高位端口)连接服务器的21号端口,利用管理连接建立的通道发送指令。
(2)数据连接:上传或下载文件

6.数据连接下的两种模式

(1)主动模式:服务器(20端口)主动向客户端发起数据连接(随机端口,一般是N+1)客户端的防火墙会拦截服务器发起的连接(服务器连客户端)

(2)被动模式:服务器(随机端口)等待客户端(随机端口)向自己发起连接服务器需要处理防火墙(关闭,添加策略)(客户端连服务器)

7.ftp的用户类型及登录

匿名用户:用户名ftp,无需密码登录
授权用户:账号名及密码登录

8.FTP服务在客户端与服务器的名称

服务器端:vsftpd
客户端:ftp

9.FTP的两种传输模式

(1)文本模式:ASCII模式美国信息交换信息标准码 这种模式传输文件使用ASCII标准字符序列,一般只用于传输文件文件的传输。

(2)二进制模式:又称为Binary这种模式不会转换文件中的字符序列,跟适合传输程序图片等非文本文件
 Vsftpd可支持最大15000并发连接数

10.FTP的工作原理

用于互联网上的控制文件的双向传输 是一个应用程序。工作在TCP/IP协议簇的,其传输协议是TCP协议提高文件传输的共享性和可靠性,使用C/S模式的工作方式连接时同时处理服务器和客户端的连接命令和数据传输,FTp将命令和数据分开传输,提高传输效率。

二.FTP的相关配置

1.安装FTP

服务器:安装vsftpd
客户端:安装ftp

2.关闭服务器防火墙,内核安全机制及启动ftp服务

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# setenforce 0

3.配置ftp服务的文档

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
[root@localhost ~]# sed -i '/^#/d' /etc/vsftpd/vsftpd.conf   删除文本里面以'/^#/d'开头参数,剩余显示的是需要配置的参数

4.相关参数介绍

anonymous_enable=YES   允许匿名登录
local_enable=YES       允许本地用户访问
write_enable=YES       允许用户上传和下载文件
local_umask=022        设置上传的文件的默认权限
dirmessage_enable=YES    允许在目录上传送完毕后显示一条消息。
xferlog_enable=YES     启用日志功能
connect_from_port_20=YES   使用端口20进行数据传输
xferlog_std_format=YES     使用标准的日志格式
listen=NO    表示以非独立的服务进行
listen_ipv6=YES    表示vsftpd将监听IPv6连接
pam_service_name=vsftpd   
使用PAM进行认证
userlist_enable=YES    启用用户列表文件
tcp_wrappers=YES    表示服务器使用tcp_wrappers作为主机访问控制方式

5.匿名用户的相关配置
anonymous_enable=YES   
允许匿名登录
anon_umask=022    允许匿名用户访问的权限设置
anon_root=/opt/ftp    匿名用户登录后只能在该目录下操作
anon_upload_enable=yes    匿名
用户不能浏览目录,只能上传文件,无其他权限
anon_mkdir_write_enable=yes    允许匿名用户创建目录
anon_other_write_enable=yes      允许匿名用户删除

6.本地用户的相关配置
local_enable=YES      允许本地用户访问
local_root=/opt/ftp       本地用户登录后只能在该目录下操作
local_umask=022        允许本地用户访问的权限设置
chroot_local_user=yes    将所有用户限制在主目录
allow_writeable_chroot=yes    允许在chroot环境中创建可写文件

7.主动模式被动模式的相关配置
pasv_enable=yes     
YES即被动模式,NO即主动模式
pasv_min_port=30500      最小端口值
pasv_max_port=30600     最大端口值

8.黑名单与白名单

(1)vim /etc/vsftpd/ftpusers
ftpusers黑名单文件,存在该文件中的用户无法登陆
(2)vim /etc/vsftpd/user_list
User_list 白名单文件,如果设置userlist_deny=NO  Userlist_enable=YES则只允许该列表中的用户登录
注:若一个用户同时存在两个文件中,黑名单生效,该用户不能登陆虚拟用户模式。

9.使用虚拟用户可以将用户的登录名和密码不相同,提高服务器的安全性

第一步:创建文本格式的用户名和密码  奇数行为用户名,偶数行为密码

第二步:建立虚拟FTP用户的数据库文件

第三步:添加虚拟用户的映射账号

第四步:为虚拟用户建立PAM认证文件

第五步:修改配置文件添加虚拟用户的支持

Local_enable=YES  #需要映射本地用户所以启用
Write_enable=YES  ##启用上传写入权限
Guest_enable=YES  ##开启虚拟用户
Anon_umask=022 ### 指定上次权限掩码
Guest_username=*  ###指定映射的本地系统用户
Pam_serrivce_name=vsftpd.vu  ##指定新的pam认证文件
User_config_dir=/*/*/*/   ###为不同的虚拟用户设置不同的权限

匿名用户模式:
anonymous_enabled=YES     ##允许匿名访问模式。默认开的
Anonumask=022     ##匿名用户上传文件或目录权限,所上传的文件或目录的权限减去022文件默认权限是644 目录的755
Anon_upload_enable=YES       ##允许匿名用户上传文件
Anon_mkdir_write_enable=YES         ##允许匿名用户创建目录Anon_other_ write_enable=YES       ##允许匿名用户有其他的写入权限 (删除或者修改)

10.相关命令

put  上传
local   跳转
wget   下载

相关推荐

  1. HTTP传输文件FTP传输文件相关简介

    2024-06-12 22:56:04       34 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 22:56:04       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 22:56:04       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 22:56:04       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 22:56:04       20 阅读

热门阅读

  1. C++中的工厂方法模式

    2024-06-12 22:56:04       7 阅读
  2. Qt 焦点系统关键点总结

    2024-06-12 22:56:04       7 阅读
  3. 防火墙的配置

    2024-06-12 22:56:04       11 阅读
  4. C++中的原型模式

    2024-06-12 22:56:04       8 阅读