zoukankan      html  css  js  c++  java
  • CentOS5.5 FTP安装配置

    500 OOPS: cannot change directory:/mnt/sda9

    解决方法:

    [root@localhost ~]# setsebool -P ftpd_disable_trans 1
    [root@localhost ~]# service vsftpd restart

    +++++++++++++++++++++++++++++++++++++

    500 OOPS: vsftpd: refusing to run with writable anonymous root
    500 OOPS: child died

    解决方法:
    http://hi.baidu.com/nxswxxg/blog/item/e3a46f0ea58d46ef37d12262.html

    已解决,我说一下我解决的过程,也许大多数知,但我还是想说出来,与大家共享一下/如有不对的地方,欢迎大家指出/
    谢谢.
    以下就是解决的三个步骤,其中第一步,是我一直没有搞明白的,也是其中的重点:
    1当时我在服务器上用命令ftp时,出现了以下的提示500 OOPS: vsftpd: refusing to run with writable anonymous root
    所以在网上找到了这一篇文章:
    "如果我们已经把vsFTPd服务器启动好了,但登录测试是会出现类似下面的提示;
    500 OOPS: vsftpd: refusing to run with writable anonymous root
    这表示ftp用户的家目录的权限不对,应该改过才对;
    [root@localhost ~]# more /etc/passwd |grep ftp
    ftp:x:1000:1000:FTP User:/var/ftp:/sbin/nologin
    我们发现ftp用户的家目录在/var/ftp,就是这个/var/ftp的权限不对所致,这个目录的权限是不能打开所有权限的;是您运行了chmod 777 /var/ftp所致;如果没有ftp用户这个家目录,当然您要自己建一个;
    如下FTP用户的家目录是不能针对所有用户、用户组、其它用户组完全开放;
    [root@localhost ~]# ls -ld /var/ftp
    drwxrwxrwx 3 root root 4096 2005-03-23 /var/ftp
    修正这个错误,应该用下面的办法;
    [root@localhost ~]# chown root:root /var/ftp
    [root@localhost ~]# chmod 755 /var/ftp
    有的弟兄可能会说,那匿名用户的可读、可下载、可上传怎么办呢?这也简单,在/var/ftp下再建一个目录,权限是777的就行了,再改一改vsftpd.conf就OK了;没有什么难的;
    vsFTPd出于安全考虑,是不准让ftp用户的家目录的权限是完全没有限制的,您可以去读一下vsFTPd的文档就明白的了;否则也不能称为最安全的FTP服务器了,对不对?"
    2:防火墙的打开相应的端口21,20
    3:因为我是adsl双网卡上网的形式,所以还要加载ip_conntrack_ftp这个模块/这个不要忘了.



    anon_root=/zzx/ftp这个是匿名用户登陆的默认目录,,这个必须要和/etc/passwd中的ftp用户的默认宿主目录要一样,,否着会出现上面的错误!

    如果在/zzx/ftp目录下新建一个anonymous目录而且权限为777的话,只能新建,不能删除,因为新建的目录或者文件的所属用户是ftp的,,,没有删除读取的权限,估计要修改/etc/vsftpd.conf中的 umask 这项了.....

    +++++++++++++++++++++++++++++++++++++

    550 Failed to change directory.

    解决方法:

    http://blog.chinaitlab.com/html/61/1039861-153408.html

    UBUNTU 7.04中安装后, 匿名上传不行, 改了目录属性后, 一直提示

    500 OOPS: vsftpd: refusing to run with writable anonymous root

    找了很久,原来原因很简单, 但是配置文件中没说明白

    其他都是一样设置,没什么说的:

    anonymous_enable=YES

    anon_mkdir_write_enable=YES

    anon_other_write_enable=YES

    anon_upload_enable=YES

    anon_world_readable_only=NO

    重要的在于: /etc/vsftpd/vsftpd.conf所设置的匿名用户的目录的问题!!!

    anon_root=/home/ftp/

    表示匿名用户登录后所在的地方, 但是, 即使上传, 也不能上传到这个目录下, 只能上传到这个目录的子目录下!!!

    就是说, 对于这个目录, 应该是读属性, 否则匿名不能登录:

    代码:

    sudo chmod 555 /home/ftp

     

    然后在这个目录下建立一个目录, incoming , 设置为可写:

    代码:

    sudo chmod o+w /home/ftp/incoming

     

    这样, 上传就只能上传到匿名用户主目录的子目录下(incoming)

     

    按照以上修改后如果出现550 Failed to change directory错误。

    ftp目录下ls -l查明子目录的属性,如果ownroot则发生550错误,

    解决方法:

    代码:

    sudo chown ftp incoming

     

    OK了~



    +++++++++++++++++++++++++++++++++++++

    文件传输(FTP)服务器

    http://blog.chinaunix.net/u3/92464/showart_1820527.html

    +++++++++++++++++++++++++++++++++++++


    http://linux.chinaunix.net/bbs/thread-680167-1-1.html

    怎么更改vsftp匿名用户的默认登录目录/var/ftp?

    vi vsftpd.conf

    加入:
    anon_root=/其他目录


    +++++++++++++++++++++++++++++++++++++


    http://www.7hao.net/?mod=group_thread&code=view&id=30526


    检测是否安装FTP :[root@localhost ~]# rpm -q vsftpd

    假如安装了会显示 版本信息:[root@localhost ~]# vsftpd-2.0.5-16.el5_5.1
    否则显示:[root@localhost ~]# package vsftpd is not installed


    1、运行yum install vsftpd命令
    详细的细节如下:(如果无法更新,你先配置能访问互联网,我有湍档叫 CentOS 在 VMware下,如何联网到Internet的解诀办法 可以解诀无法上网的问题)
    [root@localhost ~]# yum install vsftpd
    Setting up Install Process
    Parsing package install arguments
    Resolving Dependencies
    --> Running transaction check
    ---> Package vsftpd.i386 0:2.0.5-12.el5 set to be updated
    filelists.xml.gz 100% |=========================| 648 kB 02:46
    http://ftp.hostrino.com/pub/centos/5.2/os/i386/repodata/filelists.xml.gz: [Errno 4] Socket Error: timed out
    Trying other mirror.
    filelists.xml.gz 100% |=========================| 2.8 MB 00:21
    filelists.xml.gz 100% |=========================| 1.1 MB 00:12
    filelists.xml.gz 100% |=========================| 132 kB 00:01
    filelists.xml.gz 100% |=========================| 150 B 00:00
    --> Finished Dependency Resolution

    Dependencies Resolved

    =============================================================================
    Package Arch Version Repository Size
    =============================================================================
    Installing:
    vsftpd i386 2.0.5-12.el5 base 137 k

    Transaction Summary
    =============================================================================
    Install 1 Package(s)
    Update 0 Package(s)
    Remove 0 Package(s)

    Total download size: 137 k
    Is this ok [y/N]: y
    Downloading Packages:
    (1/1): vsftpd-2.0.5-12.el 100% |=========================| 137 kB 00:01
    warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY key ID e8562897
    Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) " from
    Is this ok [y/N]: y
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Installing: vsftpd ######################### [1/1]

    Installed: vsftpd.i386 0:2.0.5-12.el5
    Complete!
    [root@localhost ~]#
    2、将 /etc/vsftpd/user_list文件和/etc/vsftpd/ftpusers文件中的root这一行注释掉
    # root
    3、执行以下命令
    # setsebool -P ftpd_disable_trans=1

    修改/etc/vsftpd/vsftpd.conf在最后一行处添加local_root=/

    4、service vsftpd restart

    ftp服务器就可以使用了。

    *********************************************************************

    vsftpd的配置
    vsftpd.ftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。
    vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才答应访问。
    vsftpd.conf:位于/etc/vsftpd目录下。来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应动态等FTP服务器配置

    (1)用户登录控制
    anonymous_enable=YES,允许匿名用户登录。
    no_anon_password=YES,匿名用户登录时不需要输入密码。
    local_enable=YES,允许本地用户登录。
    deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。
    banned_email_file=/etc/vsftpd.banned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpd.banned_emails)。

    (2)用户权限控制
    write_enable=YES,开启全侷上传权限。
    local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一袄慵可以改为022)。
    anon_upload_enable=YES,允许匿名用户具有上传权限,很明显,必须启用write_enable=YES,才可以使用此项。同时我们还必须建立一个允许ftp用户可以读写的目录(前面说过,ftp是匿名用户的映射用户账号)。
    anon_mkdir_write_enable=YES,允许匿名用户有创建目录的权利。
    chown_uploads=YES,启用此项,匿名上传文件的属主用户将改为别的用户账户,注重,这里建议不要指定root账号为匿名上传文件的属主用户!
    chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替。
    chroot_list_enable=YES,可以用一个列表限定哪些本地用户只能在自己目录下活动,如果chroot_local_user=YES,那么这个列表里指定的用户是不受限制的。
    chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpd.chroot_list)。
    nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户。这是vsftpd系统推荐选项。
    async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错!
    ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASCⅡ模式哀求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASCⅡ模式的传输。
    留意:启用ascii_download_enable选项会让恶意远程用户们在ASCⅡ模式下用“SIZE/big/file”这样的指令大量消耗FTP服务器的I/O素材。
    这些ASCⅡ模式的设置选项分成上传和下载两个,这样我们就可以允许ASCⅡ模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险。

    (3)用户连接和超时选项
    idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。
    data_connection_timeout=120,设定默认的数据连接超时时间。

    (4)服务器日志和欢迎信息
    dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。
    ftpd_banner=Welcome to blah FTP service,可以自定义FTP用户登录到服务器所看到的欢迎信息。
    xferlog_enable=YES,启用记录上传/下载活动日志功能。
    xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log。



  • 相关阅读:
    KTorrent 2.1
    Krusader-双面板文件治理器
    VirtualBox 1.3.4
    QEMU 0.9.0 & QEMU Accelerator 1.3.0pre10
    Sweep:音频编辑器材
    USBSink-优盘同步备份东西
    玩转 MPlayer(1)
    玩转 MPlayer(2)
    活动目录之迁移
    再学 GDI+[26]: TGPPen 画笔对齐 SetAlignment
  • 原文地址:https://www.cnblogs.com/ztguang/p/12647767.html
Copyright © 2011-2022 走看看