linux网络服务学习(2):vsftp

2024-03-19 17:36

本文主要是介绍linux网络服务学习(2):vsftp,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.什么是vsftp

vsftp是linux服务器上的一款使用ftp协议的软件,是linux上使用最广泛的ftp服务端软件

ftp协议是使用明文传输的,很不安全,一般用于局域网内的文件上传、下载

2.vsftp连接类型

ftp连接要用到2个端口:21、20端口。

21端口用于用户收发FTP命令,如登录等;20端口则用于传送上传、下载的数据

3.vsftp的2种工作模式

(1)主动模式(port模式)

FTP服务器默认使用主动模式

(2)被动模式(passive)

(3)2种模式的选择

主动模式:传送数据时,服务器连接到客户端的端口。需要客户端开放端口给服务器

被动模式:传送数据时,客户端连接到服务器的端口。服务器端开放端口给客户端连接

linux中FTP默认是被动模式,因为客户端往往在防火墙后面,服务器很难连接到客户端。如果要把被动模式改为主动模式,可以在ftp界面下键入passive

4.vsftp的2种传输模式

(1)Binary模式(默认模式):不对数据进行任何处理。适合可执行文件、压缩文件、图片等

(2)ASCII模式:进行文本传输时,自动适应目标操作系统的结束符

(3)切换方式:在ftp互动界面中输入ascii就切换为ASCII模式,输入bin,就转换到Binary模式。

5.软件信息

服务端软件名vsftpd
客户端软件名ftp
服务名ftpd
配置文件/etc/vsftpd/vsftpd.conf

6.匿名登录

6.1安装ftp、vsftpd

yum -y install ftp vsftpd

需要BASE yum源,Media源安装不了

6.2开启ftp服务并设置为开机自启

systemctl start vsftpd
systemctl enable vsftpd

6.3使用匿名用户登录

(1)登录流程

在客户端键入命令:ftp FTP服务器ip

然后在用户名一栏输入ftp或anonymous,代表匿名用户

密码一栏直接回车跳过。这样就可以通过匿名用户登录上了

*匿名用户登录后的所在的服务器目录为/var/ftp,但不建议直接在这个目录下上传下载文件,因为所有的匿名用户都是使用这个目录,很容易造成文件混乱,所以最好再建一层三级目录

(2)权限设置

匿名用户的权限取决于2部分,一是ftp配置文件中对匿名用户的权限设置,二是登录后所在服务器目录的权限设置。

配置文件中匿名用户权限的设置见下表:

配置文件中有关匿名用户权限的设置作用在配置文件中的状态
anonymous_enable=YES启用匿名访问默认开启
anon_umask=022使匿名用户可以下载自己上传的文件无,需要手动写入
anon_root=/var/ftp匿名用户的FTP根目录无,需要手动写入
anon_upload_enable=YES允许上传文件默认被注释
anon_mkdir_wirte_enable=YES允许创建目录默认被注释
anon_other_write_enable=YES开放其他写入权(删除、覆盖、重命名等)无,需要手动写入

vim打开文件后可以通过/关键字来快速搜索

除此之外,还要通过chmod命令对FTP根目录的other用户权限进行设置

*如果出现下图这样的错误,说明是SElinux防火墙没关,在服务器端setenforce 0关闭SElinux防火墙即可

6.4 使用服务器本地用户登录

(1)登录流程

*在服务器端创建一个不可以登录系统,专用于FTP登录的用户:

useradd  -s  /sbin/nologin  ymyx

*给新创建的这个用户设置密码:

passwd  ymyx

通过上述方法创建不可登录系统的用户后,还需要修改/etc/shells文件,在文件中添加下图中的内容

如果是使用正常创建的可以登录系统的用户,则不需要修改/etc/shells

*在客户端登录FTP服务器:

ftp FTP服务器ip

并输入用户名与密码

(2)权限设置

配置文件中有关匿名用户权限的设置作用在配置文件中的状态
local_enable=YES启用服务器本地用户访问默认开启
local__umask=022使服务器本地用户可以下载自己上传的文件默认开启
local__root=/var/ftp服务器本地用户的FTP根目录无,需要手动写入
chroot_local_user=YES是否将用户禁锢在主目录默认被注释
chroot_list_enable=YES开启白名单,白名单中用户可以随意切换目录默认被注释
chroot_list_file=/etc/vsftpd/chroot_list白名单位置(需手动创建,在里面直接写用户名即可)默认被注释

经试验,在centos7环境下,配置文件中设置了chroot_local_user=YES后,客户端无法再用服务器本地账户登录FTP,需要在配置文件中额外加一条:allow_writeable_chroot=YES

(3)白名单与黑名单

*配置文件中可以设置允许登录FTP的白名单,以及不允许登录FTP的黑名单

黑名单:userlist_enable=YES&userlist_deny=YES

白名单:userlist_enable=YES&userlist_deny=NO

*黑名单配置文件: /etc/vsftpd/ftpusers

这个文件的优先级很高,只要在文件写入了用户名,不需要重启FTP服务就可以立即生效

6.5 ftp模式下的一些常用命令

cd、ls、pwd、mkdir

put:上传

mput:同时上传多个

get:下载

mget:同时下载多个

delete:删除文件

mdelete:同时删除多个文件

rmdir:删除目录

rename:重新命名

quit:退出

这篇关于linux网络服务学习(2):vsftp的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/826753

相关文章

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修

Linux上设置Ollama服务配置(常用环境变量)

《Linux上设置Ollama服务配置(常用环境变量)》本文主要介绍了Linux上设置Ollama服务配置(常用环境变量),Ollama提供了多种环境变量供配置,如调试模式、模型目录等,下面就来介绍一... 目录在 linux 上设置环境变量配置 OllamPOgxSRJfa手动安装安装特定版本查看日志在

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux修改pip和conda缓存路径的几种方法

《Linux修改pip和conda缓存路径的几种方法》在Python生态中,pip和conda是两种常见的软件包管理工具,它们在安装、更新和卸载软件包时都会使用缓存来提高效率,适当地修改它们的缓存路径... 目录一、pip 和 conda 的缓存机制1. pip 的缓存机制默认缓存路径2. conda 的缓

Linux修改pip临时目录方法的详解

《Linux修改pip临时目录方法的详解》在Linux系统中,pip在安装Python包时会使用临时目录(TMPDIR),但默认的临时目录可能会受到存储空间不足或权限问题的影响,所以本文将详细介绍如何... 目录引言一、为什么要修改 pip 的临时目录?1. 解决存储空间不足的问题2. 解决权限问题3. 提

Linux中的进程间通信之匿名管道解读

《Linux中的进程间通信之匿名管道解读》:本文主要介绍Linux中的进程间通信之匿名管道解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、基本概念二、管道1、温故知新2、实现方式3、匿名管道(一)管道中的四种情况(二)管道的特性总结一、基本概念我们知道多

Linux中的缓冲区和文件系统详解

《Linux中的缓冲区和文件系统详解》:本文主要介绍Linux中的缓冲区和文件系统方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、FILE结构1、fd2、缓冲区二、文件系统1、固态硬盘2、逻辑地址LBA(一)数据块 Data blocks(二)inode表