• linux 搭建ftp服务


    一、 安装ftp

    yum -y install vsftpd

    二、配置

    安装完之后在/etc/vsftpd/路径下会存在三个配置文件。

    vsftpd.conf: 主配置文件

    ftpusers: 指定哪些用户不能访问FTP服务器,这里的用户包括root在内的一些重要用户。(黑名单)

    user_list(白名单): 指定的用户是否可以访问ftp服务器,通过vsftpd.conf文件中的userlist_deny的配置来决定配置中的用户是否可以访问,userlist_enable=YES ,userlist_deny=YES ,userlist_file=/etc/vsftpd/user_list 这三个配置允许文件中的用户访问FTP。

    三、启动ftp服务

    service vsftpd start

    四、相关配置

    修改配置,不允许匿名登入:

    # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
    anonymous_enable=NO
    service vsftpd restart

    添加用户:

    useradd ftpuser

    设置密码:

    passwd ftpuser

    创建ftp服务器存储数据的目录:

    mkdir -p /data/ftp
    mkdir -p /data/ftp/pub

     为所有用户设置访问权限,

    chmod a-w /data/ftp  #其他用户没有写的权限
    chmod 777 -R /data/ftp/pub

     这些文件所有者是root,root赋予其他用户/data/ftp不能有写的权限,/data/ftp/data为所有权限,-R表示目录和其所有的子目录。

    另外,从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

    要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列项:

    allow_writeable_chroot=YES

    /data/ftp设置成ftpuser的主目录。

    usermod -d /data/ftp ftpuser

    然后禁止用户向上切换目录:

    在/etc/vsftpd/vsftpd.conf添加

    chroot_local_user=YES

    关闭selinux:

    setenforce 0

     永久有效

    修改 /etc/selinux/config 文件中的 SELINUX="" 为 disabled ,然后重启。

    开放21号端口:

    #添加
    firewall-cmd --zone=public --add-port=21/tcp --permanent    #(--permanent永久生效,没有此参数重启后失效)
    #重新载入
    firewall-cmd --reload

    下载图形客户端使用:

    https://winscp.net/eng/docs/lang:chs#下载

     

    若登入后发现:

    无法获得目录列表

    出现这个问题的原因是防火墙的拦截掉请求信息,所以需要配置防火墙的规则信息

    该错误是由iptables的配置引起的,临时的解决方法是执行如下命令:

    [root@localhost soft]# modprobe ip_nat_ftp

    这个是临时解决的,重启centos7就会失效了。

    再次登陆列表正常啦!

    但当你重新启动服务器则iptables规则失效,又会出现相同的情况,所以我们需要修改/etc/sysconfig/iptables-config文件

    我们需要把

    IPTABLES_MODULES=""

    修改为:

    IPTABLES_MODULES="ip_nat_ftp"

    这样重启服务器之后就不必再每次都执行mobprobe。



  • 相关阅读:
    python 读写excel,基于win32com实现
    nginx中lua语言获取传参字符串转json打印key,value
    nginx中lua语言打印匹配正则表达式的内容
    nginx 对于post,get参数访问做xss,sql注入过滤
    javaWeb第五天---MVC设计模式
    javaWeb第四天-----jspELJSTL
    javaWeb第三天---http协议和会话技术
    javaWeb第一天
    JDBC第二天---JDBC工具类
    jdbc第三天---配置文件、dao模式
  • 原文地址:https://www.cnblogs.com/chenmz1995/p/10455294.html
Copyright © 2020-2023  润新知