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

Linux服务器
linux下用cron定时执行任务的方法
.htaccess绑定域名到子目录的方法
linux apache下虚拟主机配置方法
apache 局域网访问配置方案
linux Apache服务器系统安全设置与优化
linux中mac地址绑定方法
linux托盘不断闪烁之解决方法
Apache配置 虚拟转向实例
Apache No space left on device的解决办法
Apache rewrite的重写相关的参数说明
LINUX入门级常用命令20条整理
Ubuntu设置开机自动挂载所有格式硬盘分区
5个可能被你忽略的Linux安全设置方法
学习Apache的mod rewrite、access写法
改版时保留原链接,创建新的URL的方法
rsync中文手册之使用rsync实现网站镜像和备份linux
rsync 数据同步使用详解
linux URL的301重定向代码分析
eclipse3.2.2 + MyEclipse5.5 + Tomcat5.5.27 配置数据库连接池
Apache服务器二级域名的完美实现

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 110 ::
收藏到网摘: 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]