客服系统ftp服务及配置专题V10review bykk.docx
- 文档编号:24615888
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:25
- 大小:38.79KB
客服系统ftp服务及配置专题V10review bykk.docx
《客服系统ftp服务及配置专题V10review bykk.docx》由会员分享,可在线阅读,更多相关《客服系统ftp服务及配置专题V10review bykk.docx(25页珍藏版)》请在冰豆网上搜索。
客服系统ftp服务及配置专题V10reviewbykk
资料编码
产品名称
使用对象
工程师/合作伙伴
产品版本
所有
编写部门
中国区电信软件支持部
资料版本
V1.0
客服系统ftp服务及配置专题
拟制:
王震龙
日期:
2011-07-22
审核:
日期:
审核:
日期:
批准:
日期:
华为技术有限公司
版权所有XX
修订记录
日期
修订版本
描述
作者
V1.0
初稿完成
王震龙
1、
目录
第1章概述1
第2章如何开启ftp服务2
2.1安装ftp服务2
2.2修改相关文件配置2
2.3在防火墙上开放ftp端口3
2.4重启xinetd服务3
第3章如何设置FTP独立启动4
3.1检查ftp是否独立启动4
3.2将ftp从xinetd服务中剥离4
3.3确认修改是否生效5
3.4从配置文件查看ftp是否独立运行5
第4章如何禁止ftp匿名登录7
4.1何为匿名ftp7
4.2禁止匿名ftp登录7
4.3匿名登录验证7
第5章如何限制ftp连接数9
5.1查看ftp连接数9
5.2ftp连接数上限的查看及配置方式9
5.3建议10
第6章Umask和ftp的关系12
第7章Vsftpd配置文件13
第8章如何查看FTP日志15
第9章FTP的工作方式16
第10章详细的FTP代码列表17
第11章常用FTP命令23
第12章附录27
关键词:
摘要:
本文主要描述了suse操作系统下关于ftp服务及配置的相关介绍、方法以及注意事项。
增加工程师对于ftp服务的理解和操作能力,为操作系统及业务维护提供保证。
缩略语清单:
参考资料清单:
第1章概述
在业务应用中,我们几乎不可避免地需要使用ftp服务,帮助我们来完成上传、下载等操作,针对客服系统的FTP应用,以当前主流的suse10操作系统为例,本文介绍ftp服务的开启、设置以及问题处理思路等方法,帮助工程师加深对ftp服务的了解以及提高实际操作与维护技能。
Suse系统下包含多种ftp服务,如pure-ftpd、vsftpd以及tftpd等,我们目前的业务应用中主要使用vsftpd。
下文中提及ftp如无特别说明都表示vsftpd服务。
第2章如何开启ftp服务
2.1安装ftp服务
输入“yast2inetd”:
suse-linux:
~#yast2inetd
选择vsftpd服务,将开关打开。
将NetworkServiceConfiguration(xinetd)下面的选项选择enable
然后在下面的服务中选择如下vsftpd的这一行,将status对应的项改为“On”,保存退出。
ChStatusServiceTypeProtocolWaitUserServer
OnftpstreamtcpNoroot/usr/sbin/vsftpd
2.2修改相关文件配置
编辑/etc/vsftpd.conf将“anonymous_enable”参数改为yes,并将“local_enable”及“write_enable”参数取消注释。
将“listen”参数注释掉。
(注:
anonymous_enable是匿名登录参数,设置为yes代表允许匿名登录,可根据现场客户要求进行配置;Local_enble=yes表示本地帐户能够登陆;Write_enable=no表示本地帐户登陆后无权删除和修改文件;将listen参数注释掉是因为vsftpd服务默认依赖与xinetd服务启动与停止,并不是独立的,下文中会提及如何将vsftpd服务从xinetd中剥离)。
修改/etc/ftpusers文件,将root用户注释掉。
Ftpusers文件中的用户表示不能ftp到服务端上,如果想使某个用户可以ftp登录,那么必须注释掉。
注:
/etc/ftpusers的列表里定义了哪些用户不允许使用系统的FTP,一般来说,应该只有普通用户可以使用FTP,而不是system这种类型的账户。
当然,root用户永远都不应该使用FTP方式直接传输文件。
SUSE提供了一个netcfg的包,预填充了不该使用FTP的账户。
2.3在防火墙上开放ftp端口
输入“yast2firewall”启动防火墙配置
suse-linux:
/#yast2firewall
选择“AllowedServices”,然后选择“Advanced”
设置端口为21(使用的ftp端口)
这是因为ftp使用了21端口进行连接,如果防火墙不开放此端口会导致无法建立ftp连接。
2.4重启xinetd服务
在root用户下执行rcxinetdrestart或者执行/etc/init.d/xinetdrestart重启xinetd服务,拉起ftp服务。
第3章如何设置FTP独立启动
一般我们设置ftp依赖于xinetd服务,但是对于ftp压力大的局点,连接数可能比较多,这样需要我们把ftp从xinetd服务中剥离出来,下面我们看下如何剥离以及相关设置。
3.1检查ftp是否独立启动
(1)确认vsftpd服务是否是独立运行的。
以root用户身份登录,执行chkconfig-l|grepftp
查询到结果如下:
pure-ftpd0:
off1:
off2:
off3:
off4:
off5:
off6:
off
vsftpd0:
off1:
off2:
off3:
off4:
off5:
off6:
off
pure-ftpd:
off
tftp:
off
vsftpd:
on
第二行vsftpd的第三和第五个开关不是on的状态,说明vsftpd服务不是独立运行的,而是由xinetd托管运行。
一般来说,如果服务器ftp压力不大,那么使用xinetd托管即可;如果是专属ftp服务器或者日常使用ftp比较频繁,建议将vsftpd以standalone模式运行,也就是从xinetd中剥离。
3.2将ftp从xinetd服务中剥离
(2)执行rcxinetdstop命令,停止xinetd服务。
(3)设置ftp独立监听
执行vi/etc/vsftpd.conf编辑vsftpd配置,修改如下行
listen=YES
注:
这一行在配置文件中有说明Setlisten=YESifyouwantvsftpdtorunstandalone,即若要让vsftpd独立运行,那么要设置listen=YES。
(4)执行chkconfigvsftpdon命令允许vsftpd服务开启。
(5)执行rcvsftpdrestart重启vsftpd服务。
(6)执行rcxinetdstart启动xinetd服务。
3.3确认修改是否生效
(7)查看vsftpd服务是否独立运行
执行chkconfig-l|grepftp查询结果如下:
pure-ftpd0:
off1:
off2:
off3:
off4:
off5:
off6:
off
vsftpd0:
off1:
off2:
off3:
on4:
off5:
on6:
off
pure-ftpd:
off
tftp:
off
vsftpd:
off
以上输出结果说明vsftpd已经为独立模式运行
(8)查看vsftpd服务状态是否正常。
执行rcvsftpdstatus查询vsftpd服务运行状态,结果如下说明正在运行。
Checkingforservicevsftpdrunning
(9)验证登录
执行ftp命令登录主机,输入用户名及密码,若登录成功说明验证成功。
3.4从配置文件查看ftp是否独立运行
用命令修改vsftpd服务启动是否独立实际写到了配置文件/etc/xinetd.d/vsftpd这个文件中,如下:
db1:
/etc#cdxinetd.d/
db1:
/etc/xinetd.d#ls
chargencvsdaytime-udpecho-udpnetstatrexecrshserversswattelnettimevnc
chargen-udpdaytimeechofampure-ftpdrloginrsyncservicessystattftptime-udpvsftpd
db1:
/etc/xinetd.d#morevsftpd
#default:
off
#description:
#ThevsftpdFTPserverservesFTPconnections.Ituses
#normal,unencryptedusernamesandpasswordsforauthentication.
#vsftpdisdesignedtobesecure.
#
#NOTE:
Thisfilecontainstheconfigurationforxinetdtostartvsftpd.
#theconfigurationfileforvsftpitselfisin/etc/vsftpd.conf
serviceftp
{
disable=yes
#server_args=
#log_on_success+=DURATIONUSERID
#log_on_failure+=USERID
#nice=10
socket_type=stream
protocol=tcp
wait=no
user=root
server=/usr/sbin/vsftpd
第4章如何禁止ftp匿名登录
本节所描述的配置处于安全性考虑,要求禁止ftp匿名登录,下面介绍一下方法。
4.1何为匿名ftp
互连网中有很大一部分FTP服务器被称为“匿名”(Anonymous)FTP服务器。
这类服务器的目的是向公众提供文件拷贝服务,不要求用户事先在该服务器进行登记注册,也不用取得FTP服务器的授权。
Anonymous(匿名文件传输)能够使用户与远程主机建立连接并以匿名身份从远程主机上拷贝文件,而不必是该远程主机的注册用户。
用户使用特殊的用户名“anonymous”登陆FTP服务,就可访问远程主机上公开的文件。
许多系统要求用户将Emai1地址作为口令,以便更好地对访问进行跟综。
匿名FTP一直是Internet上获取信息资源的最主要方式,在Internet成千上万的匿名FTP主机中存储着无以计数的文件,这些文件包含了各种各样的信息,数据和软件。
人们只要知道特定信息资源的主机地址,就可以用匿名FTP登录获取所需的信息资料。
虽然目前使用WWW环境已取代匿名FTP成为最主要的信息查询方式,但是匿名FTP仍是Internet上传输分发软件的一种基本方法。
如redhat、autodesk等公司的匿名站点。
4.2禁止匿名ftp登录
(10)以root用户执行vi/etc/vsftpd.conf编辑vsftpd配置,修改如下行
anonymous_enable=NO
注:
这一行的目的是禁止匿名用户ftp登录,注意NO一定要大写。
(11)执行rcxinetdstart启动xinetd服务。
如果ftp独立运行,需要执行rcvsftpdrestart重启vsftpd服务。
4.3匿名登录验证
要求:
使用匿名用户anonymous登录系统会提示不允许匿名登录,则修改成功。
db1:
~#ftp10.144.229.164
Connectedto10.144.229.164.
220(vsFTPd2.0.4)
Name(10.144.229.164:
root):
anonymous
530ThisFTPserverdoesnotallowanonymouslogins.
ftp:
Loginfailed.
第5章如何限制ftp连接数
场景:
某些客服局点话务员需要从文件服务器下载及播放录音文件,但由于ftp连接数过多导致下载失败。
5.1查看ftp连接数
登录ftp服务器端,执行netstat–an|grep“:
21”查看ftp端口占用情况,即ftp连接总数是多少
如果发现连接总数较多,或者某一IP的连接数过多,那么我们可以执行netstat-na|grep":
21"|grep"IP地址"|wc–l来查看某一IP的连接总数。
5.2ftp连接数上限的查看及配置方式
(12)ftp独立运行模式下的查看及配置方式:
一般在ftp独立运行的情况下,系统默认ftp最大连接数以及每个ip最大连接数无上限。
具体可以执行vi/etc/vsftpd.conf编辑vsftpd配置,增加如下两行:
max_clients=(等号后面写同一时刻ftp的最大连接数,根据业务而定,一般不建议设置太高,可以设置为几十到200或300)
max_per_ip=(等号后面写同一时刻同一IP可以ftp的最大数目,一般不建议设置过大,在20以内为宜,可根据业务情况适当调整)
编辑并保存完成后需要重启ftp服务,执行rcvsftpdrestart命令,ftp服务会闪断,需要知会客户,在业务量小的夜间进行。
注:
这两个参数默认在vsftpd.conf文件中是不写的,具体描述可以执行manvsftpd.conf命令来查看那帮助信息。
(13)ftp未独立运行情况下的查看及配置方式:
如果ftp服务依赖于xinetd服务,那么关于连接数的设置是在/etc/xinetd.conf文件中的。
以当前xinetd限制连接实例数为30为例,我们执行vi/etc/xinetd.conf,将instance=30改为instance=100,如果不希望ftp总数超过30,那么还需要编辑/etc/xinetd.d/vsftpd文件,加入instance=30来进行限制。
ftp连接总数不可以超过依赖于xinetd服务的实例连接总数。
之后执行rcxinetdrestart命令重启xinetd服务,需要在业务量小的夜间进行操作。
5.3建议
如果ftp数较多,建议将ftp独立运行,因为如果依赖与xinetd服务,配置中的连接数不仅包含ftp,而是所有依赖与xinetd服务的连接数总和,譬如telnet等,可能导致ftp连接上限变小,不能满足需求。
如果客户端使用一些贪心下载工具,那么很可能由于部分客户端下载造成ftp服务器压力增大,出现阻塞或者延迟等。
Suse技术支持人员建议如下:
1、如果作为ftp服务器且连接数较多,在服务端最好将ftp从xinetd服务中剥离,并且设置ftp连接数上限。
2、客户端尽量避免使用多线程的ftp工具,防止同一IP连接数过多,造成不必要的浪费及网络阻塞。
此外简单说明一下ftp占用的两个端口,包括20以及21端口,对于21我们都很熟悉,它叫做命令端口,而20我们可能很少去关注,20是数据端口,一般我们查看ftp连接,譬如新建一个ftp连接,然后在操作系统上执行netstat–an|grep端口号的命令,发现21端口连接数增加,而20不变。
Suse技术人员告知我们平时不需要关注20端口,所以当你发现20端口连接数有几千这种情况也不必慌张,这并不会对ftp以及系统性能造成影响。
对于/etc/xinetd.conf文件,其中还有一个参数要说明一下,就是cps=5010//其中第一个参数50表示每秒钟可建立的连接数,第二个参数表示,如果每秒钟建立的连接数超过50,将会使服务暂停10秒
拿一个suse中FTP去取IVR流程的实例进行说明,网速较快的情况下,因为ivr实现ftp时是对每个文件都建立一个ftp连接去获取,这样就造成每秒钟建立的ftp连接数超过操作系统的默认配置。
规避方法是:
需要修改为cps=50010;(每秒可建立连接数需要根据实际情况进行调整)同时为了使该配置生效,需要对xinetd程序发送一个HUP信号.使用root用户如下操作:
linux:
/etc#ps-ef|grepinetd
root414510Oct11?
00:
00:
06/usr/sbin/xinetd
root3185926011015:
07pts/400:
00:
00grepinetd
linux:
/etc#kill-HUP4145
第6章Umask和ftp的关系
umask是什么?
当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?
这就是umask干的事情。
Umask的值可以在/etc/vsftpd.conf文件中进行更改,有local_umask这一项配置,默认值是077,如下:
#Defaultumaskforlocalusersis077.Youmaywishtochangethisto022,
#ifyourusersexpectthat(022isusedbymostotherftpd's)
#
local_umask=022
umask是unix操作系统的概念,vsftpd的local_umask借鉴了它
指屏蔽文件的022权限,到底屏蔽了什么?
将这个八进制数用二进制表示
000010010
换算成字母是
----w--w-
指取消组的写权限、取消其它用户的写权限。
屏蔽这些权限后,剩下什么权限呢?
用字母表示是:
rwxr-xr-x
但实际上在新建文件时:
文件默认拥有的访问权限是“666”(即默认拥有读写权限),如果此时umask的值为“0022”,那么在新建文件时,该文件将不拥有“022”访问权限(即新建文件的权限是“644”,换成符号表示为“-rw-r--r--”);而新建文件夹默认拥有的访问权限为“777”,如果此时umask的值为“0022”,那么此时新建文件夹的默认权限为“755”,即“drwxr-xr-x”。
所以说新建或ftp文件是没有777权限的,如果新建文件具有可执行权利,有非常大的安全隐患.
ftp工具中有chmod的功能,可以在ftp进去之后,使用chmod修改权限,当然这和ftp的客户端是否实现了这个功能(chmod)有比较大的关系
linux自带的ftp客户端有该功能。
第7章Vsftpd配置文件
ftp配置可通过配置文件来进行更改,修改后重启ftp服务生效,对于vsftpd服务,它的配置文件为/etc/vsftpd.conf,对于相关配置说明可以参考下面附件:
常用参数说明:
1、匿名服务器连接配置相关参数:
anonymous_enable=yes(允许匿名登陆)
dirmessage_enable=yes(切换目录时,显示目录下.message的内容)local_umask=022(FTP上本地的文件权限,默认是077)connect_form_port_20=yes(启用FTP数据端口的数据连接)*xferlog_enable=yes(激活上传和下传的日志)xferlog_std_format=yes(使用标准的日志格式)ftpd_banner=XXXXX(欢迎信息)
pam_service_name=vsftpd(验证方式)*l
isten=yes(独立的VSFTPD服务器)*
功能:
只能连接FTP服务器,不能上传和下传
注:
其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项
2、普通用户ftp服务器的连接配置相关参数:
Local_enble=yes(本地帐户能够登陆)
Write_enable=no(本地帐户登陆后无权删除和修改文件)
功能:
可以用本地帐户登陆vsftpd服务器,有下载上传的权限
注:
在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传
3、安全性配置相关参数:
Idle_session_timeout=600(秒)(用户会话空闲后10分钟)Data_connection_timeout=120(秒)(将数据连接空闲2分钟断)Accept_timeout=60(秒)(将客户端空闲1分钟后断)Connect_timeout=60(秒)(中断1分钟后又重新连接)Local_max_rate=50000(bite)(本地用户传输率50K)Anon_max_rate=30000(bite)(匿名用户传输率30K)Pasv_min_port=50000(将客户端的数据连接端口改在Pasv_max_port=6000050000—60000之间)
Max_clients=200(FTP的最大连接数)
Max_per_ip=4(每IP的最大连接数)
Listen_port=5555(从5555端口进行数据连接)
4、用户登陆限制进其它的目录,只能进它的主目录
设置所有的本地用户都执行chroot
Chroot_local_user=yes(本地所有帐户都只能在自家目录)
设置指定用户执行chroot
Chroot_list_enable=yes(文件中的名单可以调用)
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list
注意:
vsftpd.chroot_list是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可
第8章如何查看FTP日志
为方便维护,了解当前ftp状况,我们需要查看ftp日志。
那么ftp日志包含哪些,路径是什么呢?
下面我们一起来看一下:
1、messages日志,在/var/log目录下的系统日志,会记录包含ftp在内的一些操作。
2、xinetd.log,看名字我们已经清楚,这是ftp还没有独立运行时,操作都记录到xinetd日志中,默认路径为/var/log/xinetd.log,在/etc/xinetd.conf文件中可以配置。
3、vsftpd.log,与xinetd.log相对,这是ftp独立运行模式下我们关注的日志。
编辑/etc/vsftpd.conf文件即可。
主要有以下参数设置就可以记录vsftp服务器的所有操作:
1、syslog_enable=NO(通过vsftp自己的日志来记录,/var/log/vsftpd/vsftpd.log)。
2、log_ftp_protocol=YES (只有通过该设置才可以记录ls和delete操作)。
3、vsftpd_log_file=/var/log/vsftpd.log记录日志的路径。
4、dual_log_ena
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 客服系统ftp服务及配置专题V10review by kk 客服 系统 ftp 服务 配置 专题 V10review