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在线解压jar包的实现方式

《Linux在线解压jar包的实现方式》:本文主要介绍Linux在线解压jar包的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux在线解压jar包解压 jar包的步骤总结Linux在线解压jar包在 Centos 中解压 jar 包可以使用 u

linux解压缩 xxx.jar文件进行内部操作过程

《linux解压缩xxx.jar文件进行内部操作过程》:本文主要介绍linux解压缩xxx.jar文件进行内部操作,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、解压文件二、压缩文件总结一、解压文件1、把 xxx.jar 文件放在服务器上,并进入当前目录#

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文