zoukankan      html  css  js  c++  java
  • CentOS 6.2 安装vsftpd 服务器(转)

    CentOS 6.2 安装vsftpd 服务器

    本人的CentOS 6.2是安装在win 2008 R2 server 的 Hyper-V 虚拟机中。
    centos使用光盘安装,以最小模式安装,完成后用Putty 登陆 SSH ,然后用
    #yum  update -y
    升级到最新版本,现在就安装vsftp及配置方法作一实录,希望对各位有所帮助。
    安装ftp server,主要用于内部用户ftp上传文件,匿名及虚拟用户暂时不设置。


    1. 安装
    使用chkconfig --list来查看是否装有vsftpd服务;或者用 rpm -qa |grep ftp 检查有无安装。系统为mini安装,未安装任何ftp

    server。
    使用yum命令直接安装:
    yum -y install vsftpd
    然后为它创建日志文件:
    touch /var/log/vsftpd.log

    这样简单的两个命令就完成了vsftp的安装,但是如果你现在想这样ftp://your_ip来访问的话,那还不行,还需要配置权限!

    2. 启动与配置自启动
    使用chkconfig --list来查看vsftpd服务启动项情况;
    如果看到的是如下显示的结果:
    vsftpd          0:off   1:off   2:off   3:off   4:off   5:off   6:off
    服务全部都是off的,注意这里的off表示的是服务器启动的时候是否会自启动服务,我们使用如下命令来配置其自启动:
    chkconfig --level 235 vsftpd on #2345对应的是上面对应的0-6项


    查看与管理ftp服务可以使用以下命令:
    启动ftp服务:service vsftpd start
    查看ftp服务状态:service vsftpd status
    重启ftp服务:service vsftpd restart
    关闭ftp服务:service vsftpd stop

    3. 配置vsftp服务
    编辑/etc/vsftpd/vsftpd.conf文件,配置vsftp服务:
    #vi /etc/vsftpd/vsftpd.conf
    3.1 编辑修改如下项目:
    anonymous_enable=NO #设定不允许匿名访问
    local_enable=YES #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问。
    chroot_list_enable=YES #使用户不能离开主目录

    暂时就修改这几个选项,其余更多设置、使用请百度。

    4. 启动vsftpd
    service vsftpd start

    用netstat -tl 可以查看ftp端口是否在侦听了。

    5. 检查 SELinux 设置

    centos 安装了SElinux加强安全性,现在你用用户帐号登陆ftp,会提示无法切换到用户目录。
    执行下面命令检查 SELinux 设置:
    #getsebool -a | grep ftp
    allow_ftpd_anon_write --> off
    allow_ftpd_full_access --> off
    allow_ftpd_use_cifs --> off
    allow_ftpd_use_nfs --> off
    ftp_home_dir --> off
    ftpd_connect_db --> off
    ftpd_use_passive_mode --> off
    httpd_enable_ftp_server --> off
    tftp_anon_write --> off

    默认都是OFF的,为了本地用户能够正常登陆ftp目录,执行:

    #setsebool -P ftp_home_dir ON

    也可以编辑/etc/selinux/config 文件来修改不同的安全等级,不过不建议如此操作。

    可以再用getsebool -a | grep ftp命令检查是否设置上了。

    好了,现在先关闭防火墙来看看ftp server是否工作正常了。
    #service iptables stop
    连接ftp看看,应该能够正常工作了。
    接下来我们就来设置棘手的防火墙了。

    6. 设置iptables防火墙
    ftp server已经启动了,当然需要设置防火墙开放ftp。(关闭防火墙也是一个办法,不过强烈建议不如此做)

    默认新安装系统的iptables的禁止所有的端口(除了ssh 22端口),设置了访问策略后大部分情况下会出现ftp不能正常访问的问题,因

    为ftp有主动和被动连接两种模式,少添加一些策略就会出问题。

    6.1首先加载:
    #modprobe ip_conntrack_ftp
    #modprobe ip_nat_ftp

    6.2然后加载iptables策略
    #iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    #iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    #iptables -I INPUT -p tcp --dport 21 -j ACCEPT
    #iptables -I OUTPUT -p tcp --dport 21 -j ACCEPT

    设置这些规则后,ftp应该能够访问了(用一个账户登陆,会出现提示无法切换用户目录,这个问题需要第6步解决)。
    这些iptables规则设置在系统重新启动后就不保存了,为了保证每次启动都作这些设置,参照如下做法:
    编辑iptables 配置文件
    #vi /etc/sysconfig/iptables-config
    IPTABLES_MODULES="" 修改为:
    IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"

    如果原来有模块,只需要在原有模块后面增加ip_conntrack_ftp ip_nat_ftp,用空格作分割。

    重新启动iptables
    #service iptables  restart

    添加iptable 规则:
    iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -I INPUT -p tcp --dport 21 -j ACCEPT
    iptables -I OUTPUT -p tcp --dport 21 -j ACCEPT

    用另外计算机连接ftp测试,正常的话,把规则保存到iptables

    #service iptables save

    也可以编辑iptables规则文件,增加

    编辑/etc/sysconfig/iptales 文件

    增加:

    -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -I INPUT -p tcp --dport 21 -j ACCEPT
    -I OUTPUT -p tcp --dport 21 -j ACCEPT

    好了,现在可以用ftp程序访问centos。暂时未测试IE浏览器访问FTP,待日后再测试。

  • 相关阅读:
    设计模式 ( 十七) 状态模式State(对象行为型)
    设计模式 ( 十六 ) 观察者模式Observer(对象行为型)
    设计模式 ( 十五 ) 中介者模式Mediator(对象行为型)
    设计模式 ( 十四 ) 迭代器模式Iterator(对象行为型)
    设计模式 ( 十三 ) 命令模式Command(对象行为型)
    设计模式(十一)代理模式Proxy(结构型)
    设计模式(十)享元模式Flyweight(结构型)
    开源项目
    C#中的Marshal
    给枚举加上Description,必要时,可以直接获取枚举类型代表的中文
  • 原文地址:https://www.cnblogs.com/qingchen1984/p/3985794.html
Copyright © 2011-2022 走看看