当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Linux/unix下Vsftpd服务器故障排除

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 Linux/unix下Vsftpd服务器故障排除


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 81 ::
收藏到网摘: n/a

VsftpdVsftpd中Vs的意思是“Verysecure”。从名称可以看出,软件的编写者非常注重其安全性。据官方网站的数据,一台Vsftpd服务器最多可以支持1500个并发用户。24小时可以保存2.6TB数据。Vsftpd服务器的文件结构如表1所示。

表1Vsftpd服务器的文件结构


配置文件名称功能说明/usr/sbin/vsftpdVsftpd的主程序 /etc/rc.d/init.d/vsftpd启动脚本/etc/vsftpd/vsftpd.conf主配置文件 /etc/pam.d/vsftpdPAM认证文件 /etc/vsftpd.ftpusers禁止使用Vsftpd的用户列表文件 /etc/vsftpd.user_list禁止或允许使用Vsftpd的用户列表文件 /var/ftp匿名用户主目录 /var/ftp/pub 匿名用户的下载目录/etc/logrotate.d/vsftpd.logVsftpd的日志文件




此外,还有一些说明文档和手册文件。

1了解日志文件

了解日志文件对于故障排除非常重要,这里介绍详细设置方法。vsftpd与log有关的选项:

vsftpd_log_file
xferlog_enable
xferlog_std_format
xferlog_file
dual_log_enable
syslog_enable
log_ftp_protocol
no_log_lock
在介绍之前,我们来看看vsftp中关于日志记录的参数。

xferlog_enable=yes/no//是否启用xferlog日志格式
xferlog_std_format=yes/no//是否采用标准格式记录日志
xferlog_file=/path/to/logfile//xferlog日志文件所在位置,默认为/var/log/xferlog

上面的参数设置记录xferlog日志的格式。这是早期Wu-ftpd服务的日志格式,它会记录上传和下载的动作。vsftpd也有专有的日志格式,用下列参数设置:

dual_log_enable=yes/no//是否采用Vsftpd自己的日志记录方式
log_ftp_protocol=yes/no//是否记录所有的ftp命令日志vsftpd_log_file=/path/to/logfile//指定vsftpd日志文件位置,默认为/var/log/vsftpd.log,xferlog_enable的默认值为no(vsftpd提供的配置文件模版将其值改为了yes),dual_log_enable的默认值也为no,就是说默认情况下vsftpd是不记录日志的。我们也可以将日志信息写入系统日志/var/log/messages中,使用如下参数:
syslog_enable=yes/no


下面是一个xferlog日志文件的内容:

ThuMar408:12:3020081202.114.40.24237/incoming/index.htmla_oa[email protected]*c

第一行各个数据参数如下表


记录数据参数说明ThuMar408:12:302008当前服务器本地时间,格式:"DDDMMMddhh:mm:ssYYYY"1传输文件时间,单位秒202.114.40.242远程主机IP地址/incoming/index.html传输文件名称,包括路径a传输类型包括:a:ascii码传输,b:二进制文件传输_特殊处理标志:-:没有处理C:文件压缩U:文件不压缩T:文件tar格式o文件传输方向o:从服务器到客户端i:从客户端到服务器a访问模式:a:匿名的用户g:来宾用户r:本地用户即系统用户[email protected]用户名称ftp服务类型0认证方式包括:1rfc931认证0:没有进行认证*认证用户的idc完成状态:c完全的传输转移。i:没有完成传输



2vsftp常见故障排除

1日志文件文件出现错误信息“500OOPS:vsftpd:notfound:directorygivenin'secure_chroot_dir':/usr/share/empty”。

解决方法:vsftpd.conf添加一行:
secure_chroot_dir=/opt/usr/share/empty
建立一个目录
mkdir/opt/usr/share/empty
然后关闭匿名登录把vsftpd.conf
中的anonymous_enable=YES
修改为
anonymous_enable=NO

2怎么配置vsftpd来chroot虚拟用户?

解决方法:
当尝试在vsftpd下chroot虚拟用户的时候,需要这样做:在vsftpd.conf里
guest_enable=yes
#virtualusersaremappedtouserftpwhichownsalldirs
guest_username=ftp
#chrootsthevirtualusertohisdirectory(userjoehasdirectoryjoe)
chroot_local_user=YES
user_sub_token=$USER

关键的事情是确保在/etc/passwd的ftp用户的主目录实际上包含在/var/ftp/$USER里的字符串$USER守护进程会做一个简单的字符串匹配比较,来决定到哪里替换用户的名字。

3vsftp中怎样限制用户只能在自己的home目录下?

解决方法:
有些时候你不想让FTP用户可以访问他自己home目录之外的其他文件。vsftp守护进程可以通过chroot配置这个策略。编辑/etc/vsftpd/vsftpd.conf文件,添加一行:
chroot_local_user=YES
保存之后记得重启vsftpd服务:
servicevsftpdrestart
重启服务之后,FTP所有用户都将受限制,只能访问他们home目录的文件了。

4如何修改vsftpd的默认根目录/var/ftp/pub到另一个目录?

解决方法:修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可:
加入如下两行:
local_root=/var/www/html
chroot_local_user=YES
重新启动服务:
servicevsftpdrestart
任何一个用户ftp登录到这个服务器上都会chroot到/var/www/html目录下。

参考文献:
http://bsdftpd-ssl.sc.ru/doc/unix/xferlog.5.txt
http://vsftpd.beasts.org/vsftpd_conf.html


1日志文件文件出现错误信息“500OOPS:vsftpd:notfound:directorygivenin'secure_chroot_dir':/usr/share/empty”。解决方法:vsftpd.conf添加一行:secure_chroot_dir=/opt/usr/share/empty建立一个目录mkdir/opt/usr/share/empty然后关闭匿名登录把vsftpd.conf中的anonymous_enable=YES修改为anonymous_enable=NO2怎么配置vsftpd来chroot虚拟用户?解决方法:当尝试在vsftpd下chroot虚拟用户的时候,需要这样做:在vsftpd.conf里guest_enable=yes#virtualusersaremappedtouserftpwhichownsalldirsguest_username=ftp#chrootsthevirtualusertohisdirectory(userjoehasdirectoryjoe)chroot_local_user=YESuser_sub_token=$USER关键的事情是确保在/etc/passwd的ftp用户的主目录实际上包含在/var/ftp/$USER里的字符串$USER守护进程会做一个简单的字符串匹配比较,来决定到哪里替换用户的名字。3vsftp中怎样限制用户只能在自己的home目录下?解决方法:有些时候你不想让FTP用户可以访问他自己home目录之外的其他文件。vsftp守护进程可以通过chroot配置这个策略。编辑/etc/vsftpd/vsftpd.conf文件,添加一行:chroot_local_user=YES保存之后记得重启vsftpd服务:servicevsftpdrestart重启服务之后,FTP所有用户都将受限制,只能访问他们home目录的文件了。4如何修改vsftpd的默认根目录/var/ftp/pub到另一个目录?解决方法:修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可:加入如下两行:local_root=/var/www/htmlchroot_local_user=YES重新启动服务:servicevsftpdrestart任何一个用户ftp登录到这个服务器上都会chroot到/var/www/html目录下。参考文献:http://vsftpd.beasts.org/vsftpd_conf.html

上一页[1][2]