频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

Linux/unix 下Vsftpd服务器故障排除攻略

来源: 作者:佚名 出处:巧巧读书 2008-03-21 进入讨论组
上一页 1 2 
谢 谢 收 藏 http://www.qqread.com/linux/2008/03/y402585.html

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

    Thu Mar 4 08:12:30 2008 1 202.114.40.242 37 /incoming/index.html a _ o a guest@my.net ftp 0 * c

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

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


    
    2 vsftp常见故障排除

    1 日志文件文件出现错误信息“500 OOPS: vsftpd: not found: directory given in '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
    #virtual users are mapped to user ftp which owns all dirs
     guest_username=ftp
    #chroots the virtual user to his directory (user joe has directory joe)
    chroot_local_user=YES
    user_sub_token=$USER

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

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

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

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

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

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


    1 日志文件文件出现错误信息“500 OOPS: vsftpd: not found: directory given in '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     #virtual users are mapped to user ftp which owns all dirs      guest_username=ftp     #chroots the virtual user to his directory (user joe has directory joe)     chroot_local_user=YES     user_sub_token=$USER     关键的事情是确保在/etc/passwd的ftp用户的主目录实际上包含在/var/ftp/$USER里的字符串$USER 守护进程会做一个简单的字符串匹配比较,来决定到哪里替换用户的名字。     3 vsftp中怎样限制用户只能在自己的home目录下?     解决方法:     有些时候你不想让FTP用户可以访问他自己home目录之外的其他文件。vsftp守护进程可以通过chroot配置这个策略。编辑/etc/vsftpd/vsftpd.conf文件,添加一行:     chroot_local_user=YES     保存之后记得重启vsftpd服务:     service vsftpd restart     重启服务之后,FTP所有用户都将受限制,只能访问他们home目录的文件了。     4如何修改vsftpd的默认根目录/var/ftp/pub到另一个目录?     解决方法:修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可:     加入如下两行:     local_root=/var/www/html     chroot_local_user=YES     重新启动服务:     service vsftpd restart     任何一个用户ftp登录到这个服务器上都会chroot到/var/www/html目录下。     参考文献:         http://vsftpd.beasts.org/vsftpd_conf.html

更多文章 更多内容请看FTP服务器双核服务器技术网站服务器的选型专题,或进入讨论组讨论。
上一页 1 2 
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章