vsftp服务介绍与相关实验

一、VSFTP服务简介

FTP 是 File Transfer Protocol(文件传输协议)的英文简称,用于 Internet 上的文件的双向传输。使用 FTP 来传输时,是具有一定程度的危险性, 因为数据在因特网上面是完全没有受到保护的明文传输方式!VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP, 从名称定义上基本可以看出,这是为了解决 ftp 传输安全性问题的。

1.1、vsftp特点
  • vsftp 程序的运行者一般是普通用户,降低了相对应进程的权限,提高了安全性。
  • 任何需要执行较高权限的指令都需要配置许可。
  • ftp 所需要使用的绝大多数命令都被整合到了 vsftp 中,基本不需要系统额外提供命令。
  • 拥有 chroot 功能,可以改变用户的根目录,限制用户只能在自己的家目录。
1.2、VSFTP连接类型
  • 控制连接(持续连接) → TCP 21(命令信道) → 用户收发FTP命令
  • 数据连接(按需连接) → TCP 20(数据信道) → 用于上传下载数据
1.3、vsftp工作模式
1)主动模式

FTP 客户端首先和服务器的 TCP 21 端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送 PORT 命令。PORT 命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的 TCP 20 端口连接至客户端的指定端口发送数据。

2)被动模式

FTP 客户端首先和服务器的 TCP 21 端口建立连接,用来建立控制通道发送命令,但建立连接后客户端发送 Pasv 命令。 服务器收到 Pasv 命令后,打开一个临时端口(端口大于 1023 小于 65535)并且通知客户端连接这个端口进行传送数据,客户端进而连接 FTP 服务器的临时端口进行数据传输。

1.4、VSFTP 传输模式
  • Binary模式:不对数据进行任何处理,适合进行可执行文件、压缩文件、图片等
  • ASCII模式:进行文本传输时,自动适应目标操作系统的结束符,如回车符等

Linux的红帽发行版中VSFTP默认采用的是Binary模式,这样能保证绝大多数文件传输后能正常使用 。
切换方式:在ftp>提示符下输入ascii即转换到ACSII方式,输入bin,即转换到Binary方式。

1.5、VSFTP 相关软件名
服务端软件名:vsftpd
客户端软件名:ftp
服务名:vsftpd
端口号:20、21、指定范围内随机端口 配置文件:/etc/vsftpd/vsftpd.conf
1.6、VSFTP 登陆方式
1、匿名用户验证:

用户账号名称:ftp或anonymous
用户账号密码:无密码
工作目录:/var/ftp
默认权限:默认可下载不可上传,上传权限由两部分组成(主配置文件和文件系统,配置文件中配置上传权限,对该目录具有写权限。)

2、本地用户验证:

用户账号名称:本地用户(/etc/passwd)
用户账号密码:用户密码(/etc/shadow)
工作目录:登录用户的宿主目录
权限:最大权限(drwx------)

3、虚拟用户验证:

创建虚拟用户用来代替本地用户,减少本地用户曝光率
使用本地用户作为虚拟用户的映射用户,为虚拟用户提供工作目录和权限控制
能够设置严格的权限

二、相关实验

1、匿名用户实验

匿名用户相关配置参数

1、安装服务
yum install vsftpd -y
2、匿名用户相关配置
/etc/vsftpd/vsftpd.conf
pasv_enable=YES #设置连接模式
pasv_min_port=3000 #随机最小端口范围
pasv_max_port=5000 #随机最大端口范围
anonymous_enable=YES   #启用匿名访问
anon_umask=022     #匿名用户所上传文件的权限掩码
anon_root=/var/ftp/anno     #匿名用户的 FTP 根目录
anon_upload_enable=YES   #允许上传文件
anon_mkdir_write_enable=YES  #允许创建目录
anon_other_write_enable=YES  #开放其他写入权(删除、覆盖、重命名)
anon_max_rate=0     #限制最大传输速率(0 为不限速,单位:bytes/秒)
3、实现文件上传
a. 修改配置文件
   anon_upload_enable=YES
   anon_root=/var/ftp
b. 在/var/ftp/下创建上传目录
     mkdir /var/ftp/anon
c. 修改上传目录的权限或所有者,让匿名用户有写入权限
    chown ftp:ftp /var/ftp/anon
d. 客户机登录
ftp> [[email protected] ~]# ftp 100.100.100.103
Name (100.100.100.103:root): ftp
331 Please specify the password.
Password:
230 Login successful.
ftp> cd anon
ftp> put install.log
28529 bytes sent in 0.0821 secs (347.54 Kbytes/sec)

4、实现创建目录和文件其他操作 添加如下配置。
anon_mkdir_write_enable=YES  #允许创建目录
anon_other_write_enable=YES  #删除文件、文件改名、文件覆盖 

5、进入到目录弹出信息
在对应目录下创建 .message 文件,并写入相应内容
确认dirmessage_enable=YES

6、下载上传的文件权限
默认情况下开放上传权限后,上传的文件是无法被下载的,因为文件的其他人位置没有r权限
anon_umask=022
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 #写入该文件中的用户可以随意切换目录
local_max_rate=0   #限制最大传输速率
ftpd_banner=Welcome to blah FTP service  #用户登录时显示的欢迎信息
userlist_enable=YES & userlist_deny=YES  #禁止/etc/vsftpd/user_list 文件中出现的用户名登录 FTP (默认)
userlist_enable=YES & userlist_deny=NO  #仅允许/etc/vsftpd/user_list 文件中出现的用户名登录 FTP  

配置文件:/etc/vsftpd/ftpusers
/etc/vsftpd/ftpusers 文件中出现的用户名登录 FTP,权限比 user_list 更高,即时生效

a. useradd -s /sbin/nologin huahua  #服务端需要创建用户并设置密码(所创建的用户,不需要登录操作系统,仅用来登录VSFTP)
b. passwd huahua  #密码
c. 客户机登录
[[email protected] ~]# ftp 100.100.100.103
Connected to 100.100.100.103 (100.100.100.103).
Name (100.100.100.103:root): huahua
331 Please specify the password.
Password:
230 Login successful.
3、虚拟用户实验
  1. 建立 FTP 的虚拟用户的用户数据库文件 在/etc/vsftpd目录下
vim /etc/vsftpd/vsftpd.user(单数行用户名,偶数密码)
    zs
    123456

2、将上一步建立的vsftpd.user文件转成数据库密码文件

db_load  -T  -t  hash  -f  vsftpd.user  vsftpd.db
chmod 600 vsftpd.db  #修改权限,保证安全性

3、创建 FTP 虚拟用户的映射用户,并制定其用户家目录

 useradd  -d  /var/ftp_virtual_root  -s  /sbin/nologin  virtual

4、建立支持虚拟用户的 PAM 认证文件,添加虚拟用户支持

cp  /etc/pam.d/vsftpd  /etc/pam.d/vsftpd.pam
vim /etc/pam.d/vsftpd.pam(清空源文件内容,加入下面两条)
    auth       required     pam_userdb.so  db=/etc/vsftpd/vsftpd
    account    required     pam_userdb.so  db=/etc/vsftpd/vsftpd
在 vsftpd.conf 文件中添加支持配置
修改:
    pam_service_name=vsftpd.pam
添加:
    guest_enable=YES
    guest_username=virtual
    user_config_dir=/etc/vsftpd/dir/ #指定用户配置目录

5、为虚拟用户建立独立的配置文件,启动服务并测试

a、修改配置文件,将主配置文件中自定义的匿名用户相关设置注释掉,防止主配置覆盖用户配置
cd dir/
vim zs
anon_upload_enable=YES   #用户可以上传
anon_mkdir_write_enable=YES  #允许创建目录 用户可以修改文件名
anon_other_write_enable=YES  #允许重名和删除文件、覆盖

b、给映射用户的家目录,设置让虚拟用户有读权限
chmod a+r /var/ftp_virtual_root

原文地址:https://www.cnblogs.com/hjnzs/p/12081685.html

时间: 2024-10-07 03:14:00

vsftp服务介绍与相关实验的相关文章

初学linux网络服务之vsftp服务实验

实验拓扑: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 实验一:测试默认安装vsftpd的结果 匿名用户与本地用户都可以登录 匿名用户登录到/var/ftp,只能下载不能上传 本地用户登录到本地用户的家目录,可以上传和下载 服务器端设置 [[email protected] ~]# cd /misc/cd/Server                 //进入RHEL5.9光盘 [[email protected

linux下vsftp服务搭建

实验拓扑: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 实验一:测试默认安装vsftpd的结果 匿名用户与本地用户都可以登录 匿名用户登录到/var/ftp,只能下载不能上传 本地用户登录到本地用户的家目录,可以上传和下载 [[email protected] ~]# rpm -q vsftpd  //检查软件包是否安装 package vsftpd is not installed [[email protec

Web服务介绍 & httpd安装

Web简介 什么是Web WWW:World Wide Web,万维网 英国人TimBerners-Lee在1989年欧洲共同体的一个大型科研机构工作时发明的 Web是一种超文本信息系统,其主要实现方式是超文本连接 Web特点 1.Web页面的图形化和易于链接 2.Web与操作系统.浏览器平台无关 3.分布式 4.动态习惯 5.交互性 Web工作原理 HTTP(Hyper Text Transfer Protocol,超文本传输协议):提供了访问超文本信息的功能,是Web浏览器和Web服务器之间

完全卸载mysql 停止服务、卸载相关程序、删除注册表

本节主要介绍了完全卸载mysql的具体步骤包括停止服务.卸载相关程序.删除注册表等等 1. 停止服务MySQL 2. 卸载mysql相关的程序 3. 删除注册表(运行->regedit),machine->system->controlset001/controlset002/currentcontrolset->services->eventlog->applications->MySQL相关的文件 4. 删除MySQL安装目录和保存数据库数据的目录(C:\Do

Linux之VSFTP服务

一 .文件服务器简介 ftp:在内网和公网使用. 服务器:windows,linux 客户端:windows,linux samba:只能在内网使用(文件共享服务) 服务器:windows,linux 客户端:windows(linux) 1 ftp软件 linux: wu-ftp 早期,不太安全 proftp 增强ftp工具 vsftp 安全,强大 windows IIS windows下网页搭建服务,可以搭建ftp服务 Serv-U 专用ftp服务器 2 原理 开启  21   命令传输端口

CentOS6启动流程呢个以及删除boot分区相关实验

centos6启动流程 主动读取BIOS,通过CMOS加载硬件信息 ,并进行POST,指定第一个可启动的设备 ROM:BIOS,Basic Input and Output System,保存着计算机系统最重要的基本输入输出程序,系统信息设置,开机加电自检程序RAM:保存各项参数的设定 读取第一个可启动设备MBR的引导加载程序(grub)的启动信息 MBR: 446 boot loader 64:分区表 2 :55aa BIOS通过硬件的INT13中断功能来读取MBR的 Windows:ntlo

linux系统上搭建vsftp服务

实验 实验环境: 在虚拟机搭建一台linux服务器和一台win7系统客户机. 实验要求: 一,匿名访问FTP服务,并可以上传和下载目录和文件. 二,用户验证访问FTP服务,上传和下载目录和文件. 三,使用user_list用户列表文件,作用户访问限制. 四,建立虚拟用户的账号数据库,并使用虚拟用户访问FTP上传和下载目录和文件. 五,为单独虚拟用户建立独立的配置文件. 实验步骤: 一,匿名访问FTP服务,并可以上传和下载目录和文件. 使用RPM方式安装vsftp服务: 关闭防火墙功能: 开启vs

REST服务介绍

body{ font: 16px/1.5em 微软雅黑,arial,verdana,helvetica,sans-serif; }        RESTful service是一种架构模式,近几年比较流行了,它的轻量级web服务,发挥HTTP协议的原生的GET,PUT,POST,DELETE. REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现.例如,Amazon.com提供接近REST风格的Web服务进行图书查找

KVM的driver_mirror功能相关实验

原创,转载请务必注明出处及URL,谢谢! 早前做的一些KVM功能相关的实验,分享一下. mirror相关实验1[mirror功能基本测试]: vm运行时,执行镜像操作: virsh qemu-monitor-command --hmp vmxxxxxxx  'drive_mirror -f xxxblock_device  /data/xxxxxx-mirror.img' 查看完成状态: virsh qemu-monitor-command --hmp vmxxxxxxx  'info bloc