第十七章Vsftpd服务.docx

上传人:b****3 文档编号:4421146 上传时间:2022-12-01 格式:DOCX 页数:17 大小:21KB
下载 相关 举报
第十七章Vsftpd服务.docx_第1页
第1页 / 共17页
第十七章Vsftpd服务.docx_第2页
第2页 / 共17页
第十七章Vsftpd服务.docx_第3页
第3页 / 共17页
第十七章Vsftpd服务.docx_第4页
第4页 / 共17页
第十七章Vsftpd服务.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

第十七章Vsftpd服务.docx

《第十七章Vsftpd服务.docx》由会员分享,可在线阅读,更多相关《第十七章Vsftpd服务.docx(17页珍藏版)》请在冰豆网上搜索。

第十七章Vsftpd服务.docx

第十七章Vsftpd服务

第十七章FTP服务器

教学内容:

⏹FTP的基本概念

⏹FTP服务器的配置

⏹FTP客户端的操作

⏹配置案例

教学目标:

⏹了解FTP服务器作用和传输模式

⏹熟悉FTP的工作体系

⏹掌握FTP服务器的配置和客户端的操作

教学重点:

⏹FTP服务器的配置

⏹FTP客户端的操作和配置案例

教学难点:

⏹FTP的工作体系和传输模式

一、FTP的基本概念

1.FTP作用

FTP(文件传输协议)是TCP/IP协议栈所提供的一种子协议,该子协议具体可以实现在以下功能:

⏹从客户向服务器发送一个文件

⏹从服务器向客户发送一个文件

⏹从服务器向客户发送文件或目录列表

2.FTP的工作体系

FTP工作在TCP/ip模型的第四层上,服务器与客户机之间利用TCP的21号端口传送信号指令;利用20号端口用于传送数据;具体工作过程如下:

(1)客户机启动客户端程序,通过TCP的“三次握手”建立服务器的连接

(2)服务器对客户机进行身份验证

(3)进行相应目录操作和数据传输

(4)断开连接

3.FTP的数据传输模式

主动传输模式:

在这种模式下,服务器向客户端发起一个用于数据传输的连接,客户端的连接端口是由服务器和客户端通过协商通过的

被动传输模式:

在这种模式下,客户端向服务器发起一个用于数据传输的连接,客户端的连接端口是发起这个数据连接请求时使用的端口号

4.Linux下常见的FTP软件

(1)wu-ftp

wu-ftp是历史最久的非商业FTP服务器软件之一,主要有以下特点:

⏹可以限制最高访问人数,以维持系统的最佳运行效率

⏹可以记录文件上传和下载的全过程

⏹可以支持匿名FTP服务

⏹可以支持虚拟FTP主机

⏹可以控制不同网段及其对FTP服务器的存取权限和访问时段

(2)proftp

proftpd是在意图修改wu-ftp一些不足情况下产生的,具体有如下特点:

⏹单配置文件,配置简单

⏹基于单个目录的.ftpaccess设置文件,类似apache的.htaccess文件

⏹可以设置为从xinetd启动,或者是独立ftp服务器两种运行方式

⏹强大的log功能

⏹支持以非root身份运行,从而减少了安全隐患

⏹支持匿名FTP功能

(3)vsftpd

⏹是一个安全、高速、稳定的FTP服务器

⏹可设定多个基于IP的虚拟FTP服务器

⏹匿名FTP服务器更是十分容易

⏹不执行任何外部程序,从而减少了安全隐患

⏹支持虚拟用户,且支持每个虚拟用户具有独立的配置

⏹可以设置为从xinetd启动,或者是独立FTP服务器两种运行方式

⏹支持PAM或xinetd/tcp_wrappers的认证方式

⏹支持带宽限制

二.FTP服务器配置

1.安装FTP服务的相关软件

装载第三张安装盘,且执行以下命令:

#rpm-ivhvsftpd-1.1.3-8.i386.rpm

相关文件:

/etc/vsftpd/vsftpd.conf主配置文件

/etc/vsftpd.ftpusers指定哪些用户不能访问FTP服务器

/etc/vsftpd.user_list可以根据vsftpd.conf文件中的设置来决定该文件中指定的用户是否可以访问ftp服务器

/etc/rc.d/init.d/vsftpdvsftpd的启动脚本文件

2.修改/etc/vsftpd/vsftpd.conf文件

#vi/etc/vsftpd/vsftpd.conf

功能:

设置FTP服务器相关选项

文件格式:

#说明语句

     ...........

     ...........

配置选项

     ...........

     ...........

说明:

在vsftpd.Conf文件中主要由各种配置选项组成,具体以分为以下三类:

(1)布尔型选项

anonymous_enable=yes/no(yes)

是否允许匿名用户登录

local_enable=yes/no(yes)

是否允许本地用户登录

guest_enable=yes/no(no)

是否允许虚拟用户登录

write_enable=yes/no(yes)

是否允许用户有写的权限

xferlog_enable=yes/no(yes)

是否激活上传和下载日志

connect_from_port_20=yes/no(yes)

是否启用FTP数据端口连接

anon_mkdir_write_enable=yes/no(no)

是否允许匿名用户创建目录(首先设置write_enable=yes)

anon_other_write_enable=yes/no(no)

是否允许用户删除文件和重命名文件

anon_upload_enalbe=yes/no(no)

是否允匿名用户上传数据

anon_world_readable_only=yes/no(yes)

设置匿名用户登录后是否可以浏览目录,等于no时表示允许用户浏览目录,等于yes时表示禁止用户浏览目录

ascii_download_enable=yes/no(no)

是否使用ascii下载方式

ascii_upload_enable=yes/no(no)

是否使用ascii上传方式

listen=yes/no(yes)

是否使用独占启动方式

check_shell=yes/no(yes)

是否检查用户登录的SHELL(查看/etc/shells文件)

deny_email_enable=yes/no(no)

是否拒绝匿名用户的口令为mail地址

hide_ids=yes/no(no)

隐藏用户和组信息

chroot_local_user=yes/no(no)

是否锁定所有本地用户主目录

chroot_list_enable=yes/no(no)

设置指定文件中的用户执行chroot,当要设置chroot_list_enable时,应将choot_local_user设为no

userlist_enable=yes/no(no)

是否装载userlist_file选项指定的文件,userlist_file文件中保存有若干个用户名

userlist_deny=yes/no(no)

是否拒绝userlist_file选项指定的文件中的用户访问FTP服务器

tcp_wrappers=yes/no(yes)

使用tcp_wrappers作为主机访问控制方式

(2)数据字型选项

local_umask=022

设置本地用户的文件生成掩码为022,默认值为077

ftp_data_port=20

设置FTP数据连接端口为20号端口

idle_session_timeout=600

设置空闲的用户会话的中断时间为600秒

data_connection_timeout=120

设置数据连接的中断时间

accept_timeout=60

设置客户端空闲时间长度,当超过这个时间就会自动中断连接

connect_timeout=60

设置激活连接的时间

max_clients=200(独占方式)

设置服务器最大并发连接的客户数为200

max_per_ip=(独占方式)

设置客户机的最大连接数为3

local_max_rate=50000

设置本地用户的最大传输速率为50kb/s

anon_max_rate=30000

匿名用户的最大传输速率为30kb/s

pasv_min_port=5000

pasv_max_port=6000(应用在被动模式中)

设置客户端连接时的端口范围为5000-6000

listen_port=21(独占模式)

设置服务器的侦听的端口为21

anon_umask=022

设置匿名用户的文件生成掩码为022

listen_address=192.168.9.1(独占模式)

设置服务器监听的地址

(3)字符串选项

pam_services_name=vsftpd

设置PAM认证服务的配置文件名称,该文件存放在/etc/pam.d目录下

chroot_list_file=/etc/vsftpd.chroot_list

当设置chroot_list_enable=yes,只有chroot_list_file指定文件中的用户可以执行chroot

ftpd_banner=xhnet’sftpserver

设置ftp服务器在客户机连接时所显示的欢迎信息

userlist_file=/etc/vsftpd.user_list

当指定userlist_enable=yes时,就会装载userlist_file指定文件中的内容

文件实例:

根据以下要求配置ftp服务器,具体要求如下:

⏹允许匿名用户登录和本地用户登录

⏹禁止匿名用户上传

⏹允许本地用户上传和下载

⏹本地文件生成掩码为022

⏹空闲的会话时间为600秒,数据连接时间为60秒,空闲中断时间为30秒,自动激活时间为10秒

⏹本地用户的最大传输速率为50000b/s,匿名用户的最大传输速率为30000b/s

⏹客户端的连接端口为5000-6000

⏹使用独占启动方式,侦听192.168.5.1接口的21号端口

⏹并发连接的客户数为300,每台客户机的最大连接为5

#vi/etc/vsftpd/vsftpd.conf

根据以上的要求作以下更改:

anonymous_enable=yes

local_enable=yes

anon_upload_enable=no

write_enable=yes

local_umask=022

idle_session_timeout=600

data_connection_timeout=60

accept_timeout=30

connect_timeout=10

local_max_rate=50000

anon_max_rate=30000

pasv_min_port=5000

pasv_max_port=6000

listen=yes

listen_address=192.168.5.1

listen_port=21

max_clients=300

max_per_ip=5

3.启动服务

如果采用独占方式的话,方法如下:

#servicevsftpdstart

如果采用超级服务方式的话,方法如下:

#ntsysv(选中vsftpd服务)

#servicexinetdrestart

4.建立用户

vsftpd服务器允许三种用户登录,分别为:

⏹本地用户

如果用户在远程FTP服务器上拥有账号,则该用户称为本地用户;建立方法如下:

#useradd用户名

#passwd用户名

⏹虚拟用户

如果用户在远程拥用账号,且此账号只能用于文件传输服务,则称此用户为虚拟用户或guest用户,虚拟用户信息可以存放在数据库或者文本文件中

⏹匿名用户

如果用户在远程FTP服务器上没有账号,则称此用户称为匿名用户,若FTP服务器提供匿名访问功能,则匿名用户可以通过账号anonymous或ftp和口令进行登录(/var/ftp)

三.客户端的操作

1.linux客户端

(1)ftp

#ftp服务器地址

ftp>ftp子命令

说明:

常用的ftp子命令有以下几种

⏹?

|help

作用:

显示ftp内部命令的帮助信息

实例:

ftp>?

ftp>helplcd

⏹!

[命令[参数]]

作用:

在本机中执行shell命令后回ftp环境中

实例:

ftp>!

cd/etc/sysconfig

⏹lcd[dir]

作用:

将本地工作目录切到dir

实例:

ftp>lcd/sbin

⏹open服务器地址[端口]

作用:

建立指定FTP服务器连接,可指定连接端口

实例:

ftp>open192.168.4.1

⏹close

作用:

中断与远程服务器的FTP会话

实例:

ftp>close

⏹asc

作用:

使用ascii类型传输方式

实例:

ftp>asc

⏹bin

作用:

使用二进制文件传输方式

实例:

ftp>bin

cd目录名

作用:

进入远程主机目录

实例:

ftp>cdpub

⏹pwd

作用:

显示远程主机的当前工作目录

ftp>pwd

⏹mkdir

作用:

在远程主机中建立目录

实例:

ftp>mkdirabc

⏹ls

作用:

显示远程目录中的内容

实例:

ftp>ls

⏹get远程文件名[本地文件名]

作用:

下载远程主机的文件

实例:

ftp>getabc.txt

⏹mget文件名文件名………….

作用:

下载远程主机上的多个文件

实例:

ftp>mgetvs.txtab.conf

⏹reget文件名

作用:

与get功能类似,但reget支持断点续传

实例:

ftp>regetabc

⏹put本地文件

作用:

将本地文件传送到远程FTP服务器

实例:

ftp>puta1.txt

⏹mput本地文件本地文件………….

作用:

将多个本地文件传送到远程FTP服务器

实例:

ftp>mputa1.txta2.txt

⏹rename旧文件名新文件名

作用:

进行文件重命名操作

实例:

ftp>renametimetimes

⏹delete文件名

作用:

删除远程FTP服务器中的指定文件

实例:

ftp>deletetime

⏹mdelete文件名

作用:

删除远程FTP服务器中的多个文件

实例:

ftp>mdeletetimevsftpd

⏹rmdir目录名

作用:

删除远程FTP服务器中的指定目录

实例:

ftp>rmdirabc

⏹quit/bye

作用:

退出FTP会话

实例:

ftp>quit

(2)lftp

#lftp服务器地址

操作方法以上的ftp方法一致

2.windows客户端

(1)cuteftp

(2)ftp

(3)ie

四.配置案例

案例一:

要求:

利用vsftpd配置一台支持匿名用户和本地用户登录,具体要求如下:

⏹允许匿名用户登录和本地用户登录

⏹禁止匿名用户上传

⏹允许本地用户上传和下载,且锁定本地用户主目录,允许用户删除用户主目录的文件

⏹建立用户组ftpusers,同时建立用户ftp1,ftp2属于ftpusers组,并设置用户的主目录为/soft

⏹设置/soft目录允许ftpusers组中的用户可以写入,但不能删除目录中的非自己拥有的文件

⏹本地用户的文件生成掩码为022

⏹空闲的会话时间为600秒,空闲数据连接时间为60秒,自动中断时间为30秒,自动激活时间为10秒

⏹本地用户的最大传输速率为50000b/s,匿名用户的最大传输速率为30000b/s

⏹客户端的连接端口为5000-6000(被动模式中使用)

⏹使用独占启动方式,侦听192.168.5.1接口的21号端口

⏹禁止192.168.5.128主机访问FTP服务器

⏹并发连接的客户数为300,每台客户机的最大连接为5

1.安装相关软件包

#rpm-ivhvsftpd-1.1.3-8.i386.rpm

2.修改/etc/vsftpd/vsftpd.conf

#vi/etc/vsftpd/vsftpd.conf

修改如下:

anonymous_enable=yes

local_enable=yes

anon_upload_enable=no

write_enable=yes

local_mask=022

idle_session_timeout=600

data_connection_timeout=60

accept_timeout=30

connect_timeout=10

local_max_rate=50000

anon_max_rate=30000

pasv_min_port=5000

pasv_max_port=6000

chroot_local_user=yes

listen=yes

listen_address=192.168.5.1

listen_port=21

max_clients=300

max_per_ip=5

3.创建相关用户组和用户

#mkdir/soft

#chmod1777/soft

#groupaddftpusers

#useradd-d/soft-gftpusersftp1

#passwdftp1

#useradd-d/soft-gftpusersftp2

#passwdftp2

4.设置hosts.allow文件

#vi/etc/hosts.allow

vsftpd:

192.168.5.128:

DENY

说明:

vsftpd在独占启动方式下支持tcp_wrappers主机访问控制方式,tcp_wrappers的主要配置文件是/etc/hosts.allow和/etc/hosts.deny,它们的格式都是:

守护进程名:

主机表:

ALLOW/DENY

5.启动服务

#servicevsftpdstart

案例二:

要求:

利用VSFTPD配置一台高安全级别的匿名FTP服务器,具体如下:

⏹只允许匿名用户登录,不允许本地用户登录

⏹不允许匿名用户上传,不允许匿名用户有任何的写权限

⏹设置客户端连接时的端口为5000-6000

⏹设置匿名用户的最大传输速率为1MB/s

⏹设置空闲数据连接的中断时间为200秒

⏹设置客户端空闲时的自动中断时间为100秒和激活连接的时间为30秒

⏹设置FTP服务器采用xinetd启动方式

⏹设置FTP服务器的并发连接数为200

⏹设置每个主机的最大连接数5

⏹禁止192.168.5.2主机访问FTP服务器

⏹配置安全日志

配置过程:

1.安装VSFTPD相关软件

#rpm-ivhvsftpd-1.1.3-8.i386.rpm

2.修改/etc/vsftpd/vsftpd.conf

#vi/etc/vsftpd/vsftpd.conf

修改内容如下:

anonymous_enable=yes

local_enable=no

anon_upload_enable=no

idle_session_timeout=600

data_connection_timeout=200

accept_timeout=100

connect_timeout=30

anon_max_rate=10000

pasv_min_port=5000

pasv_max_port=6000

listen=no

3.建立vsftpd服务的xinetd配置文件

#vi/etc/xinetd.d/ftpd

serviceftpd{

disable=no

Flags=resue

Socket_type=stream

Wait=no

User=root

Server=/usr/sbin/vsftpd

Instances=200

Per_source=5

No_access=192.168.5.2}

4.启动服务

#ntsysv(选中ftpd服务)

#servicexinetdrestart(或重启机器)

案例三:

利用VSFTPD配置一台支持虚拟用户登录的FTP服务器,具体要求如下:

⏹支持本地用户和虚拟用户登录,不允许匿名用户登录

⏹允许本地用户任意写入

⏹锁定本地用户的用户主目录

⏹建立虚拟用户vftp1,vftp2都对应本地用户guest,且虚拟用户在用户主目录中可以写入,但不能删除

⏹设置客户端连接时的端口为5000-6000

⏹最大空闲会话时间长度为600秒

⏹设置空闲数据连接的中断时间为200秒

⏹设置客户端空闲时的自动中断时间为100秒和激活连接的时间为30秒

⏹本地用户的最大传输速率为2MB/s

⏹使用独占启动方式,侦听192.168.5.1接口的21号端口

⏹设置服务器的并发连接总数为200

⏹每个客户机的并发连接总量为5

⏹允许192.168.5.0/24网段内的主机访问

配置过程:

1.安装相关软件

#rpm-ivhvsftpd-1.1.3-8.i386.rpm

2.修改/etc/vsftpd/vsftpd.conf文件

#vi/etc/vsftpd/vsftpd.conf

修改内容如下:

anonymous_enable=no

local_enable=yes

guest_enable=yes

guest_username=guest

write_enable=yes

chroot_local_user=yes

pam_service_name=ftp

idle_session_timeout=600

data_connection_timeout=200

accept_timeout=100

connect_timeout=30

local_max_rate=20000

pasv_min_port=5000

pasv_max_port=6000

listen=yes

listen_address=192.168.5.1

listen_port=21

3.建立相关用户

#useraddguest

#passwdguest

#chmod1777/home/guest

//建立虚拟用户所对应的本地用户

#vi/etc/vsftpd/vlogin.txt//建立虚拟用户文件

添加如下内容:

vftp1(用户名)

ftp1passwd(密码)

vftp2

ftp2passwd

#db_load-T-thash-f/etc/vsftpd/vlogin.txt/etc/vsftpd/vlogin.db

//生成口令库文件,运行db_load之前先安装db4-utils的RPM包

#chmod600/etc/vsftpd/vlogin.db

//修改口令库文件的权限

4.设置PAM验证

#cp/etc/pam.d/vsftpd/etc/pam.d/ftp

#vi/etc/pam.d/ftp

添加如下内容:

authrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vlogin

accountrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vlogin

5.设置主机访问控制

#vi/etc/hosts.allow

添加如下内容:

vsftpd:

192.168.5.0/24:

ALLOW

6.启动服务

#servicevsftpdstart

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1