哇~~真的是你呀!今天是LINUX中的FTP服务

简介: FTP(File Transfer Protocol,文件传输协议)是一种用于在计算机网络中传输文件的标准协议。它允许用户从一个计算机(称为FTP客户端)向另一个计算机(称为FTP服务器)发送和接收文件。以下是FTP服务的一些关键特点和功能:

前言

FTP(File Transfer Protocol,文件传输协议)是一种用于在计算机网络中传输文件的标准协议。它允许用户从一个计算机(称为FTP客户端)向另一个计算机(称为FTP服务器)发送和接收文件。


以下是FTP服务的一些关键特点和功能:


1. 文件传输:FTP允许用户在客户端和服务器之间传输文件。用户可以上传(将文件从客户端发送到服务器)和下载(将文件从服务器下载到客户端)文件。


2. 目录操作:FTP提供了一系列的命令,用户可以使用这些命令来浏览服务器上的目录结构、创建新目录、重命名文件或目录、删除文件或目录等。


3. 权限控制:FTP服务器可以实施权限控制机制,以保护文件的安全性。管理员可以为用户分配特定的权限级别,包括读取、写入、删除等。


4. 匿名访问:FTP服务器通常支持匿名访问,这意味着用户可以无需登录就可以访问公共文件库。


5. 端口控制:FTP使用两个端口进行通信,一个用于控制连接(命令交互)和另一个用于数据传输。这种分离使得FTP可以更高效地传输大型文件。


6. 加密支持:为了增强安全性,FTP还提供了通过SSL/TLS进行加密传输的选项。这样可以防止敏感数据在传输过程中被窃听或篡改。


尽管FTP是一种古老的协议,但它仍然被广泛用于文件传输和共享,特别是在需要可靠而高效的传输的场景中,例如网站维护、软件分发等。然而,随着时间的推移,由于安全性和性能方面的限制,FTP现在也逐渐被更现代的协议(如SFTP、FTPS或WebDAV)所取代。


一、DFP概述


(1)概述:

FTP:linux下最常见的文件服务器,工作于应用层,实现文件传输

FTP:file transfer protocol  文件传输协议


(2)FTP连接类型:

   命令连接:客户端发起请求,服务器响应默认一直保持连接

   数据连接: 按需打开,按需关闭,与命令连接相关联有可能同时打开多个数据连接


(3)端口:

   控制连接   TCP/21

   数据连接   20/随机端口

二、工作模式


主动模式

   1、客户端用端口n连接服务器端的21号端口,建立连接并使用PORT命令告知服务器开启了n+1端口

   2、连接建立后,服务器使用20端口主动向客户端的n+1端口发送连接,以建立数据连接

被动模式

   1、客户端使用端口n连接FTP的21号端口,告知服务器使用被动模式

   2、控制连接建立后,服务器建立端口P,使用PASV命令并告知客户端

   3、客户端收到端口P后,使用n+1端口连接FTP的P端口,建立数据连接

三、安装配置


1.概述

1)服务名 vsftpd


2)主配置文件/etc/vsftpd/vsftpd.conf


3)用户控制文件 /etc/vsftpd/ftpusers       /etc/vsftpd/user_list


4)用户验证类型:

   匿名用户:是一种最不安全的模式,任何人都可无需密码验证而直接登录到FTP服务器

   本地用户:是通过linux系统本地的账号密码进行验证登录,相比较匿名开放模式更安全,配置也比较简单。

   虚拟用户


2.安装

1)首先配置我们服务器和客户端的环境关闭防火墙、setlinux、配置yum源、IP这里服务器设置为192.168.1.1客户端为192.168.1.2

同理配置客户机

2)安装

   服务器安装vsftpd软件

安装好可以用rpm -qc vsftpd 查看它的文件位置

客户端安装ftp,否则无法使用ftp命令

 登录时,直接使用ftp命令加上服务器IP地址

可以输入?查看当前可用的命令

3.匿名用户验证

1)匿名用户的用户名可以是ftp或者anonymous 密码无


2)工作目录/var/ftp、/var/ftp/pub


3)目录权限: 更改工作目录pub/的权限,使匿名用户能够进行写入的操作


4)可选配置项(在FTP服务器的/etc/vsftpd/vsftpd.conf)

 

anon_upload_enable=[YES|NO]        //是否允许匿名用户上传文件
    anon_mkdir_write_enable=[YES|NO]   // 是否允许匿名用户创建目录
    anon_other_write_enable=[YES|NO]   // 是否开放匿名用户的其他写入权限(删除、改名)


我们想要让匿名用户上传文件就就修改

anon_upload_enable=YES   anon_mkdir_write_enable=YES   anon_other_write_enable=YES

此外还要修改服务器/var/ftp/pub/目录的权限

4.本地用户验证

1)用户名:服务器本地用户


密码: 本地用户密码


工作目录:本地用户的家目录


2)可选配置项

local_enable=[YES|NO]    是否允许本地用户登录FTP
    local_umask=022    本地用户上传文件的umask值
    local_root=/var/ftp    本地用户的FTP根目录
    chroot_local_user=[YES|NO]    是否将用户权限禁锢在FTP目录,确保安全
    allow_writeable_chroot=YES    是否允许写入
    chroot_list_enable=YES|NO    是否启用chroot_list_file

   在/etc/vsftpd/chroot_list文件中列出被不限制的用户的列表chroot_list_file=/etc/vsftpd/chroot_list


3)本地用户访问控制

 

userlist_enable=YES
userlist_deny=YES

不允许/etc/vsftpd/user_list文件中出现的用户名登录FTP

 

userlist_enable=YES
userlist_deny=NO

仅允许/etc/vsftpd/user_list文件中出现的用户名登录FTP

   ftpusers

不允许/etc/vsftpd/ftpusers文件中出现的用户名登录FTP,无论user_list如何设置


4)本地用户使用被动模式传输

   配置项

   

pasv_enable=YES    //启用被动模式
pasv_min_port=2001   // 被动模式使用的最小端口号
pasv_max_port=2005    //被动模式使用的最大端口号

   验证

       服务器主配置文件添加上述3条记录

       客户端下载文件时,查看端口号


目录
相关文章
|
5月前
|
Linux
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
|
2月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
47 5
linux系统服务二!
|
2月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
57 3
linux系统服务!!!
|
4月前
|
网络协议 安全 Linux
如何配置Linux端的ftp?
如何配置Linux端的ftp?
170 64
|
2月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
343 3
|
2月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
137 3
|
3月前
|
Ubuntu Linux 网络安全
Linux中服务管理问题
【10月更文挑战第4天】
32 2
|
3月前
|
网络安全 数据安全/隐私保护
FTP服务搭建
FTP服务搭建
39 0
|
3月前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
3月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
106 0