zoukankan      html  css  js  c++  java
  • 阿里云centos搭建ftp服务器

    一、简介

    vsftpd 全称是:very secure FTP daemon 非常安全的ftp后台程序,及ftp 服务端

    二、服务器端部署

    1.安装服务   yum install vsftpd -y

    2.启动服务   systemctl start  vsftpd.service

    3.查看状态   systemctl status vsftpd.service

    4.关闭服务   systemctl stop vsftpd.service

    5.检查端口   netstat -anp | grep 21   (找不到netstat命令时运行yum install net-tools)

    三、创建ftp访问用户

    1.创建用户目录   mkdir -p /home/wwwroot/ftptest

    2.创建用户          useradd -d /home/wwwroot/ftptest -g ftp -s /sbin/nologin ftptest   

                             (-d  新用户每次登陆时所使用的家目录)(-g  指定用户对应的用户组 ftp分组是内置的,本来就存在,不需要自己创建)( -s /sbin/nologin 表示这个用户不能用来登录xshell这样的客户端。 这种不能登陆的用户又叫做虚拟用户)

    3.设置目录权限   chown -R  ftptest  /home/wwwroot/ftptest   (拥有者设置为ftptest)

                                chmod -R  775  /home/wwwroot/ftptest      (使ftptest用户拥有这个目录的读写权限)
    4.设置用户密码    echo "123456" | passwd --stdin ftptest         (修改ftptest用户密码为123456)
     
     
    四、在vsftpd服务器中配置用户
    1.编辑vsftpd配置文件禁止匿名登陆 
     vi /etc/vsftpd/vsftpd.conf   
    将   
    anonymous_enable=YES
    改为
    anonymous_enable=NO
    2.限制ftptest用户访问其他目录         
    vi /etc/vsftpd/vsftpd.conf   
    将 
     # chroot_list_enable=YES
     # (default follows)
     # chroot_list_file=/etc/vsftpd.chroot_list
    改为
    chroot_list_enable=YES   (表示对用户访问进行限制)
    # (default follows)
    chroot_list_file=/etc/vsftpd/chroot_list   (表示对chroot_list里面指定的用户进行限制)
    3.编辑用户清单

    vi /etc/vsftpd/chroot_list   (此文件本来是空的) 增加一行: ftptest

    4.增加用户允许写权限

    (vsftpd服务器是这样的,一旦某个用户被限制访问了,那么默认情况下,该用户的写权限也被剥夺了。 这就导致ftp客户端连接上服务器之后无法上传文件。
    这个时候,就需要打开此用户的写权限)

    vi /etc/vsftpd/vsftpd.conf  在最后面新加一行:allow_writeable_chroot=YES

    五、配置端口

    1.vsftpd有两种端口,一个是21端口,用来监听客户端连接请求的。 这个一般说来是固定的,就一直使用21端口。
                                      另一种是,一旦获取到请求之后,再专门用用户服务端和客户端传输数据的端口。

    2.编辑配置文件 

    vi /etc/vsftpd/vsftpd.conf

    在最后添加:

    pasv_enable=YES
    pasv_min_port=30000
    pasv_max_port=30010

    (表示使用被动模式,用于传输数据的端口分配从30000-30010之间)

    六:解决用户鉴权问题

    (因为用户 ftptest 是 nologin的,所以存在鉴权的问题。 )

    1.编辑pam.d/vsftpd 文件

    vi /etc/pam.d/vsftpd    注释掉  #auth required pam_shells.so (这样不去鉴权,从而允许 ftptest 这种 nologin用户登录 ftp 服务器.)

    2.编辑shells 文件

    vi /etc/shells    增加一行:/sbin/nologin  (允许不能登录系统的用户通过鉴权)

    七、重启vsftpd服务器

    通常重启命令:service vsftpd restart
    centos7改用命令:systemctl restart vsftpd.service
    查看状态:systemctl status vsftpd.service

    八、阿里云服务器还需配置安全组,新增21和 30000/30010端口

    九、客户端

    1.ftp客户端工具

    FileZilla (所有平台)、WinSCP (Windows)、Transmit (Mac OS X)、FireFTP (所有平台与Firefox)、Cyberduck (Mac OS X)、ftprush(Windows)

  • 相关阅读:
    【个人博客设计】
    复杂多边形光栅化算法
    xmake 描述语法和作用域详解
    协程分析之context上下文切换
    tbox协程使用之切换与等待
    记boost协程切换bug发现和分析
    跨平台自动构建工具v1.0.2 发布
    xmake从入门到精通9:交叉编译详解
    xmake从入门到精通9:交叉编译详解
    跨平台c开发库tbox:内存库使用详解
  • 原文地址:https://www.cnblogs.com/yanans/p/12606060.html
Copyright © 2011-2022 走看看