• CentOS搭建ftp服务器


        下面主要是说如何在centos下面配置一个ftp服务器,我找了几个教程,每个教程都有各自的优点,我就结合了他们的优点来总结出一篇更好的教程啦,参考文章在末位给出,如有侵权,请联系我,谢谢。其中有一个经验教训就是在防火墙那里,如果其他都配置好了,通过ftp客户端还是连接不上的话,一般来说就是服务器的防火墙配置问题,可以直接把防火墙关闭来试一下,一般来说就可以了;但是确认了是防火墙的配置问题之后,防火墙还是要重新打开的(为了安全),然后再检查防火墙ftp的具体配置。

     
    安装前准备

    选用CentOS 7.2 64位的系统,阿里云在公共镜像中提供了该系统镜像,用户可直接在控制台中更换此系统。并通过远程链接进入到系统中。

    vsftpd是linux下的一款小巧轻快,安全易用的FTP服务器软件,是一款在各个Linux发行版中最受推崇的FTP服务器软件。

    1.安装vsftpd,直接yum 安装就可以了

    1. yum install -y vsftpd

    图片20

    出现下图表示安装成功。

    图片21

    相关配置文件:

    1. cd /etc/vsftpd

    图片22

    /etc/vsftpd/vsftpd.conf //主配置文件,核心配置文件

    /etc/vsftpd/ftpusers //黑名单,这个里面的用户不允许访问FTP服务器

    /etc/vsftpd/user_list //白名单,允许访问FTP服务器的用户列表

    启动服务

    chkconfig vsftpd on //设置开机自启动

    service vsftpd restart //重新启动ftp服务

    netstat -antup | grep ftp //查看ftp服务端口

    图片23

    2.安装完成之后就要重启vsftpd服务


    到vsftpd的主配置文件里面

    把这个改为NO 默认是YES (改为NO 就是禁止匿名用户登录,不需要注释)

    同时按照下图配置,不可以让ftp用户跳出自己的家目录,否则太危险了,需要做限制,默认是注释掉的,把#号去掉 然后重启vsftpd。

    (注意:这里也可以把chroot_list_file=/etc/vsftpd/chroot_list的注释打开)

     

    3.创建ftp用户

    (yuanfei这个用户智能连接ftp无法登录系统,默认家目录是在var/www/html 文件夹下面)

    给yuanfei这个用户设置密码

    然后给家目录修改权限,否则你无法上传文件

    4.修改selinux

    默认是enforcing  把他修改为disabled

    因为修改selinu后需要重启服务,因为服务器不可以重启所以执行上面这个命令,临时修改selinux的策略,无需重启!

     

    5.重启vsftpd服务,并且下次自动启动

    6.配置防火墙(要打开21端口)

    打开/etc/sysconfig/iptables文件
    vi /etc/sysconfig/iptables

    在REJECT行之前添加如下代码
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

    保存和关闭文件,重启防火墙
    service iptables start

    (ps.这一步也可以直接关闭防火墙,但是不建议这样做,关闭防火墙方法如下:



     
     
    附录1:如果以上配置防火墙还是不行的话,就按照以下方法尝试:

    基本的vsftpd服务配置好了。但是这样配置完成后客户端并不能连接上,主要应该是默认防火墙设置下,CentOS的防火墙是不开放ftp服务的,需要添加模块和开放21端口才能提供ftp访问。 
    1.添加ip_conntrack_ftp 模块

    [root@localhost ~]# vi /etc/sysconfig/iptables-config
    

    添加下面一行

    IPTABLES_MODULES="ip_conntrack_ftp"
    

    2.打开21端口

    [root@localhost ~]# vi /etc/sysconfig/iptables
    

    添加(注意这里添加要在REJECT行之前添加)

        -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
    

    3.重启iptables使新的规则生效

    [root@localhost ~]# service iptables restart
    

    到此,应该是可以了,若软件测试连接过程中,在用户验证的时候出现了错误503,应该是selinux设置的问题:可以用下面的命令检查

    [root@localhost ~]#getsebool -a |grep ftp
    
    allow_ftpd_anon_write --> off
    allow_ftpd_full_access --> off
    allow_ftpd_use_cifs --> off
    allow_ftpd_use_nfs --> off
    allow_tftp_anon_write --> off
    ftp_home_dir --> off
    ftpd_connect_db --> off
    ftpd_disable_trans --> off
    ftpd_is_daemon --> on
    httpd_enable_ftp_server --> off
    

    这是selinux的问题,我们只要打开ftp_home_dir的值开启为on:,allow_ftpd_full_access也一同开启即可。

    [root@localhost ~]#setsebool -P ftp_home_dir 1
    [root@localhost ~]#setsebool -P allow_ftpd_full_access 1
     

    附录2:介绍下vsftpd.conf的配置文件参数说明。

    1. cat /etc/vsftpd/vsftpd.conf

    用户登陆控制

    参数说明
    anonymous_enable=YES 接受匿名用户
    no_anon_password=YES 匿名用户login时不询问口令
    anon_root=(none) 匿名用户主目录
    local_enable=YES 接受本地用户
    local_root=(none) 本地用户主目录

    用户权限控制

    参数说明
    write_enable=YES 可以上传(全局控制)
    local_umask=022 本地用户上传文件的umask
    file_open_mode=0666 上传文件的权限配合umask使用
    anon_upload_enable=NO 匿名用户可以上传
    anon_mkdir_write_enable=NO 匿名用户可以建目录
    anon_other_write_enable=NO 匿名用户修改删除
    chown_username=lightwiter 匿名上传文件所属用户名
     
    http://www.linuxidc.com/Linux/2015-10/123848.htm
    http://www.centoscn.com/CentosServer/ftp/2015/0803/5953.html

                          欢迎关注微信公众号“ismallboy”,请扫码并关注以下公众号,并在公众号下面回复"ftp”,获得本文最新内容。

                                                               



  • 相关阅读:
    UVa OJ 148 Anagram checker (回文构词检测)
    UVa OJ 134 LoglanA Logical Language (Loglan逻辑语言)
    平面内两条线段的位置关系(相交)判定与交点求解
    UVa OJ 130 Roman Roulette (罗马轮盘赌)
    UVa OJ 135 No Rectangles (没有矩形)
    混合函数继承方式构造函数
    html5基础(第一天)
    js中substr,substring,indexOf,lastIndexOf,split等的用法
    css的textindent属性实现段落第一行缩进
    普通的css普通的描边字
  • 原文地址:https://www.cnblogs.com/ismallboy/p/6785270.html
Copyright © 2020-2023  润新知