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

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

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

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

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

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服务器站点目录及文件
Vsftpd文件传输服务(三种认证模式:匿名开放 、本地用户、虚拟用户)
在客户端中运行“命令提示符”,登录ftp站点
Vsftpd文件传输服务(三种认证模式:匿名开放 、本地用户、虚拟用户)
客户端下载文件
Vsftpd文件传输服务(三种认证模式:匿名开放 、本地用户、虚拟用户)
客户端上传文件
Vsftpd文件传输服务(三种认证模式:匿名开放 、本地用户、虚拟用户)
进入ftp服务器站点查看上传文件
Vsftpd文件传输服务(三种认证模式:匿名开放 、本地用户、虚拟用户)

二、本地用户模式

  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

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

  1. 重启服务
service vsftpd restart

5. 测试

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

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

客户端分别使用lisi、zhangsan两个账户进行登录测试
Vsftpd文件传输服务(三种认证模式:匿名开放 、本地用户、虚拟用户)

三、虚拟用户模式

  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

6. 测试

客户端使用虚拟账户tom进行登录,可以正常登录
Vsftpd文件传输服务(三种认证模式:匿名开放 、本地用户、虚拟用户)

客户端使用虚拟账户test进行登录,可以正常登录
Vsftpd文件传输服务(三种认证模式:匿名开放 、本地用户、虚拟用户)

猜你喜欢

转载自blog.51cto.com/10316297/2130057
今日推荐