Vsftpd文件传输服务(三种认证模式:匿名开放 、本地用户、虚拟用户)

FTP是一种在互联网中进行中文件传输的协议,基于客户端/服务器端模式,默认使用20、21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数。

FTP的出现解决了各类设备、各类操作系统之间文件传输问题,极大地方便了用户通过网络资源的获取。

FTP服务器常部署于企业内网中,具有容易搭建、方便管理的特点,目前有些FTP客户端工具还可以支持文件的多点下载以及断点续传,因此FTP服务得到了广大用户的青睐。

FTP协议有两种工作模式:

1. 主动模式: FTP服务器主动向客户端发起连接请求;

2. 被动模式: FTP服务器等待客户端发起连接请求(默认模式);

vsftpd的三种认证模式

1. 匿名开放模式:

它是一种最不安全的认证模式,任何人都可以无需密码验证而直接登录到FTP服务器;

2. 本地用户模式

它是通过Linux系统本地的账户密码信息进行认证的模式,相较于匿名开放模式更安全,而且配置起来也很简单。但是若被恶意用户破解了账户的信息,就可以畅通无阻地登录FTP服务器,从而完全控制服务器;

3. 虚拟用户模式

它是三种模式中最安全的一种认证模式,它需要为FTP服务单独建立用户数据库文件,虚拟出的用户进行口令验证的账户信息,而这些账户信息在服务器系统上并不存在,仅供FTP服务器进行认证使用。

实验环境:

  • rhel6.5操作系统
  • 服务器IP地址:192.168.100.5
  • rhel6.5的镜像光盘挂载至/mnt/cdrom/

实验内容:

  • 匿名开放模式
  • 本地用户模式
  • 虚拟用户模式

部署服务:

安装vsftpd服务

1.安装软件包

rpm -ivh /mnt/cdrom/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm

2.关闭安全设置和防火墙

setenforce 0
service iptables stop

默认FTP站点目录:/var/ftp
配置文件路径:/etc/vsftpd/vsftpd.conf

一、匿名开放模式

  1. 修改vsftpd.conf配置文件

......
anonymous_enable=YES //允许匿名访问模式
......
anon_upload_enable=YES //启用,允许匿名用户上传文件
anon_mkdir_write_enable=YES //启用,允许匿名用户创建目录
新增下面参数
anon_other_write_enable=YES //允许匿名用户修改目录名称或删除目录

  1. 启动服务

chkconfig vsftpd on
service vsftpd start

  1. 修改ftp目录权限
chown ftp:ftp /var/ftp/pub
chmod 777 /var/ftp/pub

4. 测试

查看ftp服务器站点目录及文件

在客户端中运行“命令提示符”,登录ftp站点

客户端下载文件

客户端上传文件

进入ftp服务器站点查看上传文件

二、本地用户模式

  1. 修改vsftpd.conf配置文件

......
anonymous_enable=NO //禁止匿名访问模式
local_enable=YES //允许本地用户模式
write_enable=YES //设置可写权限
local_umask=022 //本地用户创建文件的umask值
userlist_enable=YES //启动“禁止名单”,名单文件为ftpusers和user_list
userlist_deny=YES //开启用户作用名单文件功能

  1. 创建两个本地用户zhagnsan、lisi

useradd -s /sbin/nologin zhangsan //创建用户zhangsan
passwd zhangsan //设置密码,输入两次
useradd -s /sbin/nologin lisi //创建用户lisi
passwd lisi //设置密码,输入两次

  1. 修改ftpusers文件
cd /etc/vsftpd/
vim ftpusers        //编辑文件,在末尾添加lisi

  1. 重启服务
service vsftpd restart

5. 测试

ftp服务器开启了本地用户验证登录,lisi添加到了黑名单中,不让其登录,zhagnsan可以进行正常登录

客户端分别使用lisi、zhangsan两个账户进行登录测试

三、虚拟用户模式

  1. 创建ftp用户数据库文件
cd /etc/vsftpd/       //进入目录

vim vuser //创建ftp用户数据库文件,奇数行为用户名,偶数行为密码
test
123123
tom
123123

  1. 对vuser文件进行加密转换为数据库文件
db_load -T -t hash -f vuser vuser.db        //转换为数据库文件
chmod 600 vuser.db      //修改权限不让其他用户查看
  1. 创建vsftpd服务程序用户存储文件的根目录以及虚拟用户映射的系统本地用户
useradd -d /opt/vuser -s /sbin/nologin vuser
  1. 建立用户支持虚拟用户的PAM认证模块文件
vim /etc/pam.d/vsftpd.vu

//添加以下两行数据
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

  1. 修改vsftpd服务程序的主配置文件
vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO //禁止匿名开放模式
local_enable=YES //允许本地用户
guest_enable=YES //开启虚拟用户
guest_username=vuser //指定虚拟用户为vuser
pam_service_name=vsftpd.vu //指定PAM文件

  1. 重启服务
service vsftpd restart

7. 测试

客户端使用虚拟账户tom进行登录,可以正常登录

客户端使用虚拟账户test进行登录,可以正常登录

原文地址:http://blog.51cto.com/10316297/2130057

时间: 2024-10-07 20:34:53

Vsftpd文件传输服务(三种认证模式:匿名开放 、本地用户、虚拟用户)的相关文章

vsftpd服务程序的三种认证模式

vsftpd服务程序的三种认证模式的配置方法--匿名开放模式.本地用户模式以及虚拟用户模式.了解PAM可插拔认证模块的原理.作用以及实战配置方法,通过实战课程进一步继续学习SELinux服务的配置方法,扩展学习TFTP简单文件传输协议理论及实操课程 文件传输协议 一般来讲,人们将电脑联网的首要需求就是获取资料,而文件传输是其中非常重要的方式之一,21世纪的互联网是由几千万台个人电脑.工作站.小型机.大型机等等不同型号.架构的物理设备共同组成的,即便是个人电脑上也可能会装有诸如Linux.Wind

CentOS6.5下搭建ftp服务器(三种认证模式:匿名用户、本地用户、虚拟用户)

CentOS 6.5下搭建ftp服务器 vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此外,还具有很高的安全性.传输速度,以及支持虚拟用户验证等其他FTP服务程序不具备的特点,下面开始搭建: 1.用root 进入系统 2.使用命令 rpm  -qa | grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vsftpd的版本 3.如果安装了,可

Vsftpd文件传输服务(虚拟账户模访问)

虚拟账户模式 虚拟账户模式是最安全的一种认证模式,它需要为FTP服务单独建立用户数据库文件,虚拟出的用户进行口令验证账户信息,而这些账户信息在服务器其实是并不存在的,它仅供FTP服务器认证使用. 环境部署: redhat6.5操作系统 服务器IP地址:192.168.10.20 镜像光盘挂载至 /mnt 虚拟账户访问 1 . 安装vsftpd软件包,创建虚拟用户账户文件 [[email protected] ~]# rpm -ivh /mnt/Packages/vsftpd-2.2.2-11.e

Vsftpd文件传输服务(匿名用户模式)

匿名用户模式: 匿名用户访问FTP服务器时,不需要密码验证,任何人都可以使用,非常方便,当需要提供公共访问的文件下载资源,或者让用户上传一些不需要保密的数据资料时,可以选择搭建匿名FTP服务器. 环境部署: redhat6.5操作系统 服务器IP地址:192.168.10.20 镜像光盘挂载到/mnt 匿名用户访问(上传.下载.删除) 1.安装vsftpd软件包2.改配置文件vsftpd.conf 文件路径:/etc/vsftpd/vsftpd.conf3.开启服务4.关闭防火墙和selinux

文件打开的三种模式

文件打开的三种模式 文件操作的基础模式有三种(默认的操作模式为r模式): r模式为read w模式为write a模式为append 文件读写内容的格式有两种(默认的读写内容的模式为b模式): t模式为text b模式为bytes 需要注意的是:t.b这两种模式均不能单独使用,都需要与r/w/a之一连用. 一.文件打开模式之r模式 f = open('32.txt', mode='r') # 报错 f.write() f.close() # rt: read by text # windows的

文件的三种打开模式

文件的三种打开模式 文件操作的基础模式有三种(默认的操作模式为r模式): r模式为read w模式为write a模式为append 文件读写内容的格式有两种(默认的读写内容的模式为b模式): t模式为text b模式为bytes 需要注意的是:t.b这两种模式均不能单独使用,都需要与r/w/a之一连用. 一. 文件打开模式之r模式 r:read,只读模式,只能读不能写,文件不存在时报错. f = open('32.txt', mode='r') # 报错 f.write() f.close()

详解“FTP文件传输服务”安装配置实例

"FTP文件传输服务"安装配置实例 家住海边喜欢浪:zhang789.blog.51cto.com 目录 简介 ftp工作原理 常见的FTP服务 Vsftpd服务器的安装 Vsftpd.conf配置文件详解 配置FTP服务器实例 实例:配置匿名用户 实例:配置本地用户登录 实例:配置虚拟用户登录(MySQL认证) 实例:控制用户登录 实例:设置欢迎信息 分析vsftpd日志管理 FTP服务器配置与管理 简介 FTP 是File Transfer Protocol(文件传输协议)的英文简

Linux网络服务04——FTP文件传输服务

Linux网络服务04--FTP文件传输服务 一.FTP连接及传输模式 1.控制连接:TCP 21,用于发送FTP命令信息 2.数据连接:TCP 20,用于上传.下载数据 3.数据连接的建立类型: (1)主动模式:服务器主动发起数据连接 首先由客户端向服务端的21端口建立FTP控制连接.当需要传输数据时,客户端以PORT命令告知服务器"我打开了某端口,你过来连接我",预算服务器从20端口向客户端的该端口发送请求并建立数据连接. (2)被动模式:服务器被动等待数据连接 如果客户端所在网络

FTP文件传输服务

FTP文件传输服务 需求描述: ? 采用FTP虚拟用户的方式,添加三个用户:zhangsan.lisi.wangwu. ? 用户访问及文件权限控制 u 开放匿名访问,任何用户均可下载服务器/var/ftp/soft/目录中的软件资料. u 用户zhangsan可以对服务器的/var/ftp/soft/目录进行上传.删除等操作. u 用户lisi可以下载服务器/var/market/目录中的市场活动.销售方案的资料. u 用户wangwu可以对服务器/var/market/目录进行上传.删除等操作