VSFTP服务的日常应用及疑难问题解析.docx

上传人:b****3 文档编号:3488192 上传时间:2022-11-23 格式:DOCX 页数:10 大小:24.82KB
下载 相关 举报
VSFTP服务的日常应用及疑难问题解析.docx_第1页
第1页 / 共10页
VSFTP服务的日常应用及疑难问题解析.docx_第2页
第2页 / 共10页
VSFTP服务的日常应用及疑难问题解析.docx_第3页
第3页 / 共10页
VSFTP服务的日常应用及疑难问题解析.docx_第4页
第4页 / 共10页
VSFTP服务的日常应用及疑难问题解析.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

VSFTP服务的日常应用及疑难问题解析.docx

《VSFTP服务的日常应用及疑难问题解析.docx》由会员分享,可在线阅读,更多相关《VSFTP服务的日常应用及疑难问题解析.docx(10页珍藏版)》请在冰豆网上搜索。

VSFTP服务的日常应用及疑难问题解析.docx

VSFTP服务的日常应用及疑难问题解析

VSFTP服务的日常应用及疑难问题解析

VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是VerySecureFTP,从此名称可以看出来,编制者的初衷是代码的安全。

安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。

在速度方面,使用ASCII代码的模式下载数据时,VSFTP的速度是Wu-FTP的两倍,如果Linux主机使用2.4.*的内核,在千兆以太网上的下载速度可达86MB/S。

在稳定方面,VSFTP就更加的出色,VSFTP在单机(非集群)上支持4000个以上的并发用户同时连接,根据RedHat的Ftp服务器()的数据,VSFTP服务器可以支持15000个并发用户

VSFTP集合了高效易配置易管理、高安全性为一身,市场应用十分广范,很多国际性的大公司和自由开源组织在使用,如:

RedHat,Suse,Debian,OpenBSD。

本期门诊主要内容就是讨论VSFTP在实际使用环境中遇到的各种问题,以及如何与整体网络环境融合,服务器和数据安全等问题。

希望本次门诊能让大家充分利用VSFTP的性能,降低VSFTP服务器的安全风险,解决大家平时遇到的疑难问题。

技术门诊是51CTO社区品牌栏目,每周邀请一位客座专家,为广大技术网友解答疑问。

从热门技术到前沿知识,从技术答疑到职业规划。

每期一个主题,站在最新最热的技术前沿为你引航!

本期技术门诊我们邀请到微软最有价值专家(MVP),高级讲师宋杨、王旭忠两位专家。

以linux下vsftp为讨论点,和大家讨论交流vsftp配置管理中遇到的问题及相应的解决方案。

姓  名:

宋杨

擅长领域:

服务器,网络

微软最有价值专家(MVP),网络技术高级讲师。

熟悉Windows/Linux服务搭建,广域网技术,Voip,Cisco/华为网络技术。

多年大型企业网站建设及系统集成经验。

擅长ERP、CRM系统部署,曾长期致力于汽车服务行业的信息化解决方案。

有着丰富的微软及Sap公司系统产品实施及部署经验。

项目经验:

成功整合过Windows、IBM、SAP、腾讯E、用友、绍兴卓越软件,北京易车等知名国内外信息化系统。

一汽大众大SAP系列行业项目,华晨金杯售后服务信息化项目,郑州日产ERP/CRM项目、上汽奇瑞ERP项目等。

姓  名:

王旭忠

擅长领域:

Linux/Windows服务器,Exchang,SQLserver,Oracle,各种防火墙

linux服务高级讲师。

有三年基于unix平台的操作系统定制,三年ISP大型网络规划设计项目经验。

曾担任高新项目部技术主管,参与CoventiveXLinux操作系统网络部分软件开发及整合,参与公司网络部分案例的软硬件方案设计及实施,参与MNARA旗下Kebi.co.kr(韩国最大论坛)邮件系统提供网站建设。

查看本期门诊精彩实录:

参与最新技术门诊:

精选本期网友提问与专家解答,以供网友学习参考。

Q:

请问VSFTP与MYSQL结合,用MYSQL增加与管理访问虚拟的用户,配置过程应如何操作?

A:

主要配置如下:

1.设置VSFTPd配置文件

  在vsftpd.conf文件中,加入以下选项:

  guest_enable=YES

  guest_username=vuser

修改的pam_service_name=ftp

2.mysqladmin-urootpassword'passw0rd'

mysql-uroot-p'passw0rd'

  mysql>createdatabasevuser;

  mysql>usevuser;

  mysql>createtableusers(namechar(16)binary,passwdchar(16)binary);

  mysql>quit

4.设置MySQL的PAM验证

  mysql进行pam验证的开源项目(

  [root@hpe45root]#tarxvzfpam_mysql-0.5.tar.gz

  [root@hpe45root]#cdpam_mysql

  [root@hpe45pam_mysql]#make

  [root@hpe45pam_mysql]#makeinstall

  makeinstall这一步可能会出现错误,那只好手动将该目录下生成的pam_mysql.so复制到/lib/security目录下。

  接下来,我们要设置VSFTPd的PAM验证文件。

打开/etc/pam.d/ftp文件,加入以下内容:

  authrequiredpam_mysql.souser=rootpasswd=passw0rdhost=localhostdb=vusertable=users

usercolumn=namepasswdcolumn=passwdcrypt=2

  accountrequiredpam_mysql.souser=rootpasswd=passw0rdhost=localhostdb=vuser

table=usersusercolumn=namepasswdcolumn=passwdcrypt=2

  上面涉及到的参数,只要对应前面数据库的设置就可以明白它们的含义。

这里需要说明的是crypt参数。

crypt表示口令字段中口令的加密方式:

crypt=0,口令以明文方式(不加密)保存在数据库中;crypt=1,口令使用UNIX系统的DES加密方式加密后保存在数据库中;crypt=2,口令经过MySQL的password()函数加密后保存。

5.其余配置可以和虚拟用户配置一样,就是使用pam-mysql来进行虚拟用户的用户添加。

比较简单。

Q:

老师好!

我在使用servicevsftpdstop命令时无法关闭ftp服务,显示如下信息:

Shuttingdownvsftpd:

[FAILED]

查看状态信息如下:

#servicevsftpdstatus

vsftpddeadbutsubsyslocked

请问应该如何解决?

问题补充:

删除文件/var/lock/subsys/vsftpd能把服务停止,但是再次启动vsftpd服务后的状态还是:

vsftpddeadbutsubsyslocked

A:

首先用命令netstat-tlunp|grep21检查有没有其他的FTPSERVER工作,结果如下:

再看grep-iftp/etc/xinetd.d/*结果如下:

修改/etc/xinetd.d/gssftp这个文件,disable=no改成disable=yes。

然后,重启xinetd,servicexinetdrestart,再重启动vsftpd,servicevsftpdrestart

Q:

两位专家:

如何设置vsftpd使之可以将特定用户限制在特定的目录内?

A:

方法1:

adduser-d目录用户名,在/etc/vsftpd/vsftpd.conf中加入chroot_local_user=YES(禁锢所有用户的/目录为属主目录)。

方法2:

adduser-d目录用户名修改/etc/vsftpd/vsftpd.conf中的chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list(vsftpd.chroot_list文件内写入的用户就限禁锢用户的/目录为属主目录),vi/etc/vsftpd.chroot_list加入你要限制的用户的用户名称即可。

Q:

专家好!

我新增一位使用者test加目录test。

使用cuteftp可以连上,也可以上传及下载文档,但是对/var/ftp/pub反而是可以下载却无法上传,此folder权限设为777.我使用RPM裝FC5中的VSFTP。

谢谢专家了!

A:

修改vsftpd.conf,匿名用户创建文件anon_upload_enable=YES,匿名用户创建目录anon_mkdir_write_enable=YES,是否允许匿名用户登录后执行其他操作(删除重命名等)anon_other_write_enable=YES

注意:

/var/ftp不能出现other为w,否则ftp匿名无法登陆。

Q:

我想请问专家:

在vsftpd中怎么限制IP地址。

比如只要某个IP或IP段访问我的FTP,应该怎么配置,是在vsftp.conf中配置还是另外哪个配置文件里?

请专家帮我一下。

A:

使用Vsftpd+tcp_wrappers控制主机和用户访问tcp-wrappers的执行顺序:

先执行hosts.allow,如果hosts.allow里面有名单,则允许名单内的机子访问;否则,则向下寻找hosts.deny,如果hosts.deny里面有名单,则拒绝名单内的机子访问,如果也没有(即allow和deny里面都没有名单)则允许该主机访问。

在主机(192.168.1.102)上配置vsftpd服务,使得除了192.168.1.100以外允许192.168.1.0/24网段的其他主机访问此FTP服务。

  编辑/etc/hosts.allow

  vsftpd:

192.168.1.100:

DENY

  vsftpd:

192.168.1.

  重启vsftpd,可达到目的

编辑/etc/hosts.deny

vsftpd:

192.168.1.100

编辑/etc/hosts.allow

vsftpd:

192.168.1.

Q:

宋老师,王老师:

linux配置vsftpd服务,配好之后root无法登陆。

本地测试显示如下:

[root@viv~]#ftp127.0.0.1

Connectedto127.0.0.1.

220(vsFTPd2.0.5)

530PleaseloginwithUSERandPASS.

530PleaseloginwithUSERandPASS.

KERBEROS_V4rejectedasanauthenticationtype

Name(127.0.0.1:

root):

root

530Permissiondenied.

Loginfailed.

远程登陆同样报错:

530Permissiondenied.

Loginfailed.

还有一个问题:

为什么我的本地账户都无法登陆了,均显示错误:

530loginincorrect。

希望老师帮帮忙,谢谢啦!

A:

root用户默认是被禁止登陆vsftpd的服务器的。

方法1.去掉/etc/vsftpd.ftpusers里面的root用户。

修改vsftpd.conf里面userlist_enable=YES,userlist_deny=NO,重启服务即可。

方法2.去掉/etc/vsftpd.ftpusers里面的root用户。

去掉/etc/vsftpd.user_list里面的root用户。

登录即可。

Q:

老师,在做vsftp的时候,为什么一定要关了selinux,设置成disabled,除了不设置,还有其他的办法吗?

还有关于selinux能不能详细的说一下呢?

谢谢了!

附:

setsebool-Pftp_home_dir1这个命令就可以不用关了selinux了么?

A:

这常常是因为SELinux不允许vsftpd线程访问用户主目录造成的。

解决方法为:

使用root用户登录,然后执行以下命令来赋予权限:

setsebool-Pftp_home_dir1

然后重启vsftpd服务:

servicevsftpdrestart

使用用户登录即可

SELinux(Security-EnhancedLinux)是美国国家安全局(NAS)对于强制访问控制的实现,是Linux上最杰出的新安全子系统。

NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。

说下概念吧。

SELinux牵扯的东西很多。

这次不详细说了,什么时候可以做个SELinux的门诊再说。

Q:

我不想让vsftp默认路径是pub,怎么让默认路径改为根目录/?

最好能指导我怎么修改配置文件的办法。

vsftpd.conf中间有句话chroot_list_file=/etc/vsftpd.chroot_list是不是修改这个?

谢谢老师了!

A:

在vsftpd.conf中加anon_root=/var/www,另外检查下权限然后重起vsftpd

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list(vsftpd.chroot_list文件内写入的用户就禁锢用户的/目录为属主目录)

Q:

感觉VSFTP配置起来还是挺简单的,再深入一点不知道还能实现什么功能?

A:

vsftpd大家用的也只是平常的东西,深入功能很多的:

1.证书支持

2.虚拟用户和数据库的结合实现数万及更多用户访问及统计等

3.用户详细权限设置

4.支持大量数据访问的调优

5.数据流量的控制

Q:

请问老师vsftp在配置过程中如何能做到:

1、只能上传。

不能下载、删除、重命名。

2、只能下载。

不能上传、删除、重命名。

3、只能上传、删除、重命名。

不能下载。

4、只能下载、删除、重命名。

不能上传。

以下是我关于这四个问题的文章,请老师指点:

A:

你只写了办法挺独到的,其实用虚拟用户来做比较常用一些。

那样更加好控制用户

Q:

VSFTP需要的硬件配置如何?

和Windowsserver2003的文件服务器来说,两者的优点分别是?

A:

vsftpd根据linux所使用的版本来定的。

最低要求cpu66Hz以上,内存16M以上就可以了。

windows文件服务器比较适合于局域网内部使用,ftp服务对interne和局域网内使用都可以,而且ftp比windows文件服务器有更多的控制,比如每用户流量限制等

A:

主要是看你的应用,vsftp灵活性强,所以在局域网环境和互联网中都可以应用。

换句话说:

看你的用户数量和使用场景来选择物理服务器的配置,ftp服务关心的硬件只有三个CPU(处理效率)、内存(增加ftp业务的应付处理性能)、硬盘(存储空间),最低配置王老师已经给了,我省了嘎嘎。

高配服务器,建议不要配置太大的内存,多了反而浪费。

我重点说说应用场景好了:

windowsserver2003的文件服务器主要应用场景是小型局域网(广播域越小,效率越高),他是基于SMB实现的,通过端口445实现数据连接。

在局域网内20台以下PC的应用场景中是比较可观的,但,PC一旦过多就会大大降低应用效率,因为SMB的数据连接是采用广播定位服务器的方式工作的,我们很熟悉的netbios协议就是这样通过139端口定位服务器的。

所以局域网内PC越多(主要是对文件服务器的访问越频繁)广播就越多,从而应用效率降低。

(补充:

也有的公司,使用VPN在互联网访问远程分支机构的文件服务器,这样的应用也是可以的。

)而ftp则是单播实现的,所以对局域内通讯没有太大的影响。

而且在pc台数过多的情况下可以正常应付大量的业务访问。

所以在比较大规模的企业应用场景,多选择FTP作为实现文件服务的手段,而兼高效、廉价、安全、易管理配置于一身的VSFTP就更适合了。

互联网就更不用说了。

很多软件公司checkin的时候都是使用FTP+安全验证机制来实现的。

Q:

vsftp客户端是winxp,如何解决客户端乱码问题?

A:

修改linux编码为xp的编码就好了,方法如下

1.修改/etc/sysconfig/i18n内容为

LANG="zh_CN.GB2312"

SUPPORTED="zh_CN.GB2312"

2.执行

exportLANG=zh_CN.GB2312

exportLC_ALL=zh_CN.GB2312

Q:

老师您好,我想请教一下,我前两天做了个试验,通过机器A的VMWARE进行虚拟Linux,开启SAMBA和VSFTP,然后又在机器B的VMWARE上光盘BOOT启动linuxaskmethod,通过FTP方式安装,总是无法安装成功。

但在机器C直接安装就没有问题,并且在B/C机器上测试FTP功能也正常。

不知道是不是FTP不支持双VMWARE呢还是有其他的原因,麻烦老师了!

注:

SAMBA和VSFTP的设置都是最基础的那种,没有权限,允许匿名登陆也可以实体登陆。

A:

你最好检查一下你的vmware的B到A的网络配置,要是服务器有问题,C是无法安装的。

Q:

老师好,我想问的是VSFTP的权限问题,怎么限制用户具体上传文件的大小,怎么限制根据下载上传的次数,适当的给予一定的权限的提升?

谢谢老师!

A:

解答第一个问题:

用户上传的文件大小和空间存放大小可以使用Quota进行处理。

解答第二个问题:

修改vsftpd.conf配置文件中的xferlog_enable=YES(打开流量日志功能)xferlog_file=/var/log/vsftpd.log(日志文件存放地点),分析vsftpd.log文件中某文件的用户下载次数,上传次数进行程序控制即可。

比如发现日志出现a用户下载xxx.rar文件出现3次,则xxx.rar文件权限为000。

Q:

看专家的解答真的很细心,很耐心。

我想请教一个问题,我的vsftpd使用的是anonymous_enable=NO,使用的用户的登录,当时每次登陆都会等很久,大概10秒左右。

于是我去抓包分析原因,发现client端会先使用匿名用户登录一次,被拒绝以后,才使用输入的ID,这个是怎么回事?

想了很多办法,没有解决,我就没管他了,但是后来自己又好了。

相当郁闷啊。

能请专家分析下原因吗?

A:

其实这个问题是您所使用的客户端软件中存在缓存或者记录造成的,与服务器没有关系的。

Q:

老师:

为什么通过VSFTP上传文件后,文件内容的头部都会被添加进去一些代码,而且有什么上传到服务器上的文件大小和这个文件在我本机的大小是不一样的,差的很多。

A:

在传输文件的时候分为文本方式和ASCII方式,如果一个二进制文件(.exe)所使用的是默认文本方式就会被加东西的,你需要选择为ASCII方式即可。

Q:

还有一个问题是关于下载的线程和速度的限制。

在公网上分享资源,比如一个游戏客户端,这种情况线程和速度应该如何限制,我意思是一个ip给多少线程多少带宽为宜。

A:

一般每ip5个线程,带宽64K。

Q:

接11楼问题:

当我们修改/etc/sysconfig/i18n这个文件。

比如原来是zh_CN.UTF-8修改成zh_CN.GB2312,这个时候客户端问题没有了!

可是在服务器上我们执行serviceXXXrestart的时候提示都是乱码如何处理呢(我在Gnome环境)?

A:

选择GNOME环境的登录语言为zh_CN.GB2312就好了

Q:

现在vsftpd不知怎么可以做每个用户的磁盘配额。

老师指点下。

A:

使用Quota来进行限制。

第一步让分区支持Quota(包含boot目录的分区不要做,出错)

[root@linux~]#vi/etc/fstab

LABEL=//ext3defaults11

LABEL=/disk1/disk1ext3defaults12

LABEL=/disk2/disk2ext3defaults,usrquota,grpquota12

/dev/hda3swapswapdefaults00

注意到我们所需要设定的那个/disk2的那一行,在第四字段多了usrquota,grpquota注意,在『defaults,usrquota,grpquota』之间都没有空格!

第二步重启,让修改生效

第三步生成quota支持文件

[root@linux~]#quotacheck-avug

quotacheck:

Scanning/dev/hdb1[/disk2]done

quotacheck:

Checked3directoriesand4files

[root@linux~]#ll/disk2

-rw-------1rootroot6144Sep611:

44aquota.group

-rw-------1rootroot6144Sep611:

44aquota.user

第四步配置用户或组限制

edquota-uquser1

Diskquotasforuserquser1(uid502):

Filesystemblockssofthardinodessofthard

/dev/hdb104500050000000

再次强调的是,因为我的/disk2里面并没有任何数据存在,所以,在上面这个表格当中,blocks与inodes才会都是0,如果您是使用/home来进行quota设定的,那么blocks/inodes肯定不会是0,这里要特别留意的。

好了,上面特殊字体的部分就是我们的设定了,分别是45000及50000,那个单位是KBytes啦,转成MBytes应该是要除以1024才对,不过,简单算一下就好了,不用太介意!

^_^。

然后将quser1的设定直接复制给quser2吧!

edquota-pquser1quser2

接下来要来设定宽限时间,还是使用edquota!

[root@linux~]#edq!

ota-t

Graceperiodbeforeenforcingsoftlimitsforusers:

Timeunitsmaybe:

days,hours,minutes,orseconds

FilesystemBlockgraceperiodInodegraceperiod

/dev/hdb11days7days

将时间改为1天(原本是7days改成1days),好了!

查询一下是否真的有设定进去呢?

使用quota-v来查询:

[root@linux~]#quota-vuquser1quser2

Diskquotasforuserquser1(uid502):

Filesystemblocksquotalimitgracefilesquotalimitgrace

/dev/hdb104500050000000

Diskquotasforuser

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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