FTP.docx

上传人:b****5 文档编号:6787776 上传时间:2023-01-10 格式:DOCX 页数:8 大小:281.87KB
下载 相关 举报
FTP.docx_第1页
第1页 / 共8页
FTP.docx_第2页
第2页 / 共8页
FTP.docx_第3页
第3页 / 共8页
FTP.docx_第4页
第4页 / 共8页
FTP.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

FTP.docx

《FTP.docx》由会员分享,可在线阅读,更多相关《FTP.docx(8页珍藏版)》请在冰豆网上搜索。

FTP.docx

FTP

FTP服务的简介

FTP的工作原理

主动模式和被动模式

VSFTP服务的安装

VSFTP的三种用户形式

案例详解

FTP服务的简介

FTP是文件传输控制协议。

它可以使文件通过网络从一台主机传送到另一台主机上,而不受计算机类型和操作系统类型的限制。

无论是PC机、服务器、大型机,还是DOS操作系统、Windows操作系统、Linux操作系统,只要双方都支持FTP协议,就可以方便地传送文件。

FTP的工作原理

FTP服务的具体工作过程如下(图1)。

①当FTP客户端发出请求时,系统将动态分配一个端口(如1032)。

②若FTP服务器在端口21侦听到该请求,则在FTP客户端的端口1032和FTP服务器的端口21之间建立起一个FTP会话连接。

③当需要传输数据时,FTP客户端再动态打开一个连接到FTP服务器的端口20的第2个端口(如1033),这样就可在这两个端口之间进行数据的传输。

当数据传输完毕后,这两个端口会自动关闭。

④当FTP客户端断开与FTP服务器的连接时,客户端上动态分配的端口将自动释放掉。

主动模式和被动模式

根据数据连接的建立方式,FTP服务的数据传输可以分为Port(主动)模式和Passive(被动)模式。

主动模式是FTP服务器向FTP客户端传输数据的默认模式。

当FTP客户端请求以主动模式传输数据时,由客户端向服务端发送准备接收数据的IP地址和端口Y,该端口是大于1024的非特权端口。

服务端主动发起并建立连接到指定的IP地址和端口Y,所以称为”主动”模式。

在被动模式下,客户端通过PASV命令获得服务端IP地址和数据端口,然后向服务端发起连接请求,从而建立数据连接。

因此,服务器端只是被动地监听在指定端口上的请求,所以称之为”被动”模式。

主动模式和被动模式

在主动模式中,FTP客户端随机开启一个大于1024的端口X向服务器的21号端口发起控制连接请求,然后开放X+1号端口进行监听;FTP服务器接受请求并建立控制连接会话。

如果客户端在控制会话中发送数据连接请求,那么服务器在接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口X+1进行数据传输。

(图2)

被动模式的控制连接和数据连接都是由FTP客户端发起的。

首先FTP客户端随机开启一个大于1024的端口X向服务器的21端口发起连接,同时会开启X+1端口。

然后向服务器发送PASV命令,通知服务器自己处于被动模式。

服务器收到命令后,会开放一个端口Y(20)进行监听,然后用PORTY命令通知客户端,自己的数据端口是Y。

客户端收到命令后,会通过X+1号端口连接服务器的端口Y,然后在两个端口之间进行数据传输。

这样就能使防火墙知道用于数据连接的端口号,而使数据连接得以建立。

(图3)

vsftp服务的安装

rpm-qa|grepvsftpd

rpm-vihvsftpd-2.0.5

rpm-ivhdb4-utils

Vsftpd的三种用户形式

1、匿名用户形式:

在默认安装的情况下,系统只提供匿名用户访问

2、本地用户形式:

以/etc/passwd中的用户名为认证方式

3、虚拟用户形式:

支持将用户名和口令保存在数据库文件或数据库服务器中。

相对于FTP的本地用户形式来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。

相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。

对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。

匿名用户名设置

anonymous_enable=YES  #是否启用匿名用户

no_anon_password=YES  #匿名用户login时不询问口令

下面这四个主要语句控制这文件和文件夹的上传、下载、创建、删除和重命名。

anon_upload_enable=(yes/no);#控制匿名用户对文件(非目录)上传权限。

anon_world_readable_only=(yes/no);#控制匿名用户对文件的下载权限

anon_mkdir_write_enable=(yes/no);#控制匿名用户对文件夹的创建权限

anon_other_write_enable=(yes/no);#控制匿名用户对文件和文件夹的删除和重命名

注:

匿名用户下载是使用的是nobody这个用户,所以相应的O这个位置要有R权限才能被下载。

若想让匿名用户能上传和删除权限,必需设置

write_enable=YES#全局设置,是否容许写入(无论是匿名用户还是本地用户,若要启用上传权限的话,就要开启他)

anon_root=(none)#匿名用户主目录

anon_max_rate=(0)#匿名用户速度限制

anon_umask=(077)#匿名用户上传文件时有掩码(若想让匿名用户上传的文件能直接被匿名下载,就这设置这里为073)

chown_uploads=YES#所有匿名上传的文件的所属用户将会被更改成chown_username

chown_username=whoever#匿名上传文件所属用户名

本地用户设置

write_enable=YES#可以上传(全局控制)删除,重命名

local_umask=022#本地用户上传文件的umask

userlist_enable=YES#限制了这里的用户不能访问

local_root#设置一个本地用户登录后进入到的目录

download_enable#限制用户的下载权限

chown_uploads=YES#所有匿名上传的文件的所属用户将会被更改成chown_username

chown_username=whoever#匿名上传文件所属用户名

chroot_list_enable=YES #如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录

chroot_list_file=/etc/vsftpd/chroot_list#指定限制的用户文件

user_config_dir=#后面跟存放配置文件的目录。

用来实现不同用户不同权限。

#在vsftpd.conf文件中加入这一句,

#在相应的目录里面,为每个用户创建自己的配置文件,用来实现不同的权限

#设置用户的单独配置文件,用哪个帐户登陆就用哪个帐户命名

虚拟用户设置

虚拟用户使用PAM认证方式

pam_service_name=vsftpd#设置PAM使用的名称,默认值为/etc/pam.d/vsftpd

guest_enable=YES/NO#启用虚拟用户。

默认值为NO

guest_username=ftp#这里用来映射虚拟用户。

默认值为ftp

virtual_use_local_privs=YES/NO#当该参数激活(YES)时,虚拟用户使用与本地用户相同的权限。

#当此参数关闭(NO)时,虚拟用户使用与匿名用户相同的权限。

#默认情况下此参数是关闭的(NO)

 

案例详解

【案例1】建立基于虚拟用户的FTP服务器,并根据以下要求配置FTP服务器。

(1)配置FTP匿名用户的主目录为/var/ftp/anon,下载带宽限制为100kB/s。

(2)建立一个名为abc,口令为xyz的FTP账户。

下载带宽限制为500kB/s。

(3)设置FTP服务器同时登录到FTP服务器的最大链接数为100;每个IP最大链接数为3;用户空闲时间超过限值为5分钟。

mkdir/var/fpt/anon

useraddabc

passwdabc

vim/etc/vsftpd/vsftpd.conf

主要内容如下

anonymous_enable=YES

anon_root=/var/ftp/anon

anon_max_rate=100000

local_enable=YES

local_max_rate=500000

max_clients=100

max_per_ip=3

connect_timeout=300

以上是本地的LOCAL用户

下面是用虚拟用户来实现

vim/etc/vsftpd/vuser

内容如下

tom

123

生成数据库文件

db_load-T-thash-f/etc/vsftpd/vuser/etc/vsftpd/vuser.db

chmod600/etc/vsftpd/vuser.db

vim/etc/pam.d/vsftpd

注释掉原来的内容

然后加入

authrequiredpam_userdb.sodb=/etc/vsftpd/vuser

accountrequiredpam_userdb.sodb=/etc/vsftpd/vuser

最后编辑VSFTPD.CONF加入下面两句

guest_enable=YES

guest_username=abc

大家可以自行测试。

【案例2】

1、新建一分区,10G空间,ext3文件系统,挂在到/ftp下,作为ftp服务器数据存放地方。

2、四个部门:

dep1,dep2,dep3,dep4,分别对应目录/ftp/dep1,/ftp/dep2,/ftp/dep3,/ftp/dep4。

另外设定一个公共目录/ftp/public。

3、五个用户:

admin,user1,user2,user3,user4。

其中:

user1/2/3/4分别对应部门dep1/2/3/4,他们只能访问自己所述部门的目录和public目录。

如:

user1只能访问dep1和public目录,不能访问其它目录。

admin为管理员用户,可以访问ftp服务器上的任何目录。

4、用户访问权限限制:

user1/2/3/4在所能访问的目录,具有上传文件、下载文件的功能,但是不能够删除文件、更改文件权限等功能。

admin管理员用户对所有目录具有文件上传、下载、删除、权限更改等功能。

5、对每个部门定制一个quota,设置该账户的文件配额为1000个;磁盘配额为2G。

6、匿名用户不能访问。

第一、增加一块硬盘,然后分区,把分区挂载情况写入/etc/fstab

#fdisk/dev/hdb

#mkfs.ext3/dev/hdb1

#mkidr/ftp

#mount/dev/hdb1/ftp-ousrquota,grpquota

#vim/etc/fstab

加入下面一句

/dev/hdb1/ftpext3defaults,usrquota,grpquota00

第二、建立用户组和用户和相应的文件夹并更改权限,达到题目要求

#groupadddep1

#groupadddep2

#groupadddep3

#groupadddep4

#groupaddboobooke

#usradd-Gdep1,boobookeuser1

#usradd-Gdep2,boobookeuser2

#usradd-Gdep3,boobookeuser3

#usradd-Gdep4,boobookeuser4

#usradd-Gdep1,dep2,dep3,dep4,boobookeadmin

#passwduser1

#passwduser2

#passwduser3

#passwduser4

#passwdadmin

#mkdir/ftp/dep1

#mkdir/ftp/dep2

#mkdir/ftp/dep3

#mkdir/ftp/dep4

#mkdir/ftp/public

#chownuesr1:

dep1/ftp/dep1

#chownuesr2:

dep2/ftp/dep2

#chownuesr3:

dep3/ftp/dep3

#chownuesr4:

dep4/ftp/dep4

#chownadmin:

boobooke/ftp/public

#chmod770/ftp/dep1

#chmod770/ftp/dep2

#chmod770/ftp/dep3

#chmod770/ftp/dep4

#chmod770/ftp/pubic

最终结果如下

-rw——-1rootroot8192Jul2611:

46aquota.group

-rw——-1rootroot7168Jul2611:

46aquota.user

drwxrwx—2user1dep14096Jul2520:

47dep1

drwxrwx—2user2dep24096Jul2520:

47dep2

drwxrwx—2user3dep34096Jul2520:

47dep3

drwxrwx—2user4dep44096Jul2520:

47dep4

drwx——2rootroot16384Jul2520:

44lost+found

drwxrwx—2adminboobooke4096Jul2520:

48public

第三、创建quota,配置磁盘配额

#mount/dev/hdb1/ftp-ousrquota,grpquota

#quotacheck-cuvg/dev/sdb1

#quotaon-a

#edquota-gdep1

Diskquotasforgroupdep1(gid503):

Filesystemblockssofthardinodessofthard

/dev/hdb101024000204800005001000

#edquota-g-pdep1dep2dep3dep4(-u-g将源用户组和群组的quota设置套用至其他用户或群组。

第四、编辑VSFTPD.CONF

#vim/etc/vsftpd/vsftpd.conf

anonymous_enable=NO

加入

local_root=/ftp

user_config_dir=/etc/vsftpd/ftp_config_dir

开启chroot

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

第五、建立用户的独立文件

#mkdir/etc/vsftpd/ftp_config_dir

#vim/etc/vsftpd/ftp_config_dir/user1

cmds_allowed=ABOR,ACCT,APPE,CWD,CDUP,HELP,LIST,MODE,MDTM,NOOP,NLST,PASS,PASV,PORT,PWD,QUIT,REIN,RETR,SITE,SIZE,STOR,STAT,STOU,STRU,SYST,TYPE,USER

#cp/etc/vsftpd/ftp_config_dir/user1/etc/vsftpd/ftp_config_dir/user2

#cp/etc/vsftpd/ftp_config_dir/user1/etc/vsftpd/ftp_config_dir/user3

#cp/etc/vsftpd/ftp_config_dir/user1/etc/vsftpd/ftp_config_dir/user4

FTPError

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

当前位置:首页 > 法律文书 > 调解书

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

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