• ubuntu 安装、配置FTP


    ubuntu 安装、配置FTP

    提示:ubuntu 16.0.4,不同版本操作可能稍有不同


    前言

    本文主要对服务器安装及配置FTP做一个记录,涉及安装、配置、创建FTP账号、以及第一次连接异常等。


    提示:以下是本篇文章正文内容,下面案例可供参考

    1、安装

    vsftpd 是 “very secure FTP daemon” 的缩写

    sudo apt-get update
    sudo apt-get install vsftpd  #安装
    
    vsftpd -version    #检查安装是否成功,成功会显示版本
    
    • 1
    • 2
    • 3
    • 4

    2、配置

    以下是安装完成后,ftp的详细配置文件,只说明一些需要修改项,注释看不懂就翻译

    #独立运行?vsftpd可以从inetd或独立运行,守护进程从initscript启动。
    listen=YES
    #
    listen_ipv6=YES
    #
    #是否允许匿名FTP?(默认情况下禁用).
    anonymous_enable=YES
    #
    #取消注释以允许本地用户登录.
    local_enable=YES
    #
    #取消对此的注释,以启用任何形式的FTP写入命令.
    write_enable=YES
    #
    # 本地用户的默认umask为077。如果您的用户希望(大多数其他ftpd使用022),您可能希望将其更改为022
    local_umask=022
    #
    #取消注释以允许匿名FTP用户上载文件。仅此如果上述全局写入启用被激活,则具有效果。此外,您将
    #显然需要创建一个FTP用户可写的目录
    anon_upload_enable=YES
    #
    # Uncomment this if you want the anonymous FTP user to be able to create
    # new directories.
    anon_mkdir_write_enable=YES
    #
    # 激活目录消息-当远程用户进入某个目录。
    dirmessage_enable=YES
    #
    #如果启用,vsftpd将显示包含时间的目录列表
    #在您当地的时区。默认值是显示GMTMDTM FTP命令返回的时间也受此影响期权
    use_localtime=YES
    #
    # 激活上传/下载日志记录.
    xferlog_enable=YES
    #
    # 确保PORT传输连接源自端口20(ftp数据).
    connect_from_port_20=YES
    #
    # You may override where the log file goes if you like. The default is shown
    # below.
    xferlog_file=/var/log/vsftpd.log
    #
    # 如果需要,可以使用标准的ftpd xferlog格式的日志文件.
    #注意,在本例中,默认的日志文件位置是/var/log/xperlog.
    xferlog_std_format=YES
    #
    #此选项应为空目录的名称。此外
    #ftp用户不应写入目录。使用此目录
    #作为一个安全的chroot()监狱,vsftpd有时不需要文件系统
    #访问。secure_chroot_dir=/var/run/vsftpd/empty
    #
    # 此字符串是vsftpd将使用的PAM服务的名称.
    pam_service_name=vsftpd
    #
    # 加密证书位置.
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
    ssl_enable=NO
    #
    # 字符集.
    utf8_filesystem=YES
    #用户相关,以下是原配置文件没有,自己添加的项
    userlist_deny=NO
    #
    #当userlist_enable 为YES,userlist_deny为NO时,FTP服务器仅允许/etc/vsftpd/users_list中的用户访#问
    userlist_enable=YES
    #
    #自定义用户列表
    userlist_file=/etc/vsftpd/userlist
    #
    #若不配置该选项可能导致530问题
    seccomp_sandbox=NO
    allow_writeable_chroot=YES
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73

    3、创建账号

    1.创建ftp分享目录 share_data,创建目录位置随意,本文以share_data为例

    sudo mkdir /home/share_data           #创建目录
    
    chmod 777 -R /home/share_data         #目录权限
    
    • 1
    • 2
    • 3

    2.创建远程ftp用户并设置密码

    sudo useradd -d /home/share_data -s /bin/bash 用户名      #用户名自己定义
    
    sudo passwd 用户名             #enter后输入密码即可完成
    
    • 1
    • 2
    • 3

    3.创建userlist,进入/ect

    cd /etc
    mkdir vsftpd
    cd vsftp
    touch userlist     #创建 ftp登录用户配置文件
    
    • 1
    • 2
    • 3
    • 4

    4.将ftp用户名写入配置文件

    vi userlist   # 例如用户名为 xiaomi, 直接写入userlist配置文件即可
    
    • 1

    5.重启服务

    service vsftpd restart 
    
    • 1

    6.将21端口加入防火墙,并在安全组配置规则中允许21端口

    4、远程连接

    xftp举例,上述所有步骤设置完成连接时,出现了 “无法显示远程文件夹” ,此时需要将连接属性中的被动模式去掉,再次进行连接服务器,可以看到已经显示出了服务器的文件夹。
    在这里插入图片描述

    5、异常问题

    第一次连接可以正常连接,之后服务器重启了一次,却发现vsftpd启动不了了.
    在这里插入图片描述
    解决思路:1、查看21端口是否被占用了;2、配置文件中listen_ipv6 改为NO;
    我这里就是思路2解决的,ipv6互联网协议第6版,用于替代ipv4,主要为了解决网络资源不足问题,但是这里不清楚底层具体是由于什么原因导致的

    listen_ipv6=NO            #修改为NO
    service vsftpd start       #再次启动服务,发现成功启动了
    
    • 1
    • 2

    在这里插入图片描述

  • 相关阅读:
    R语言时间序列数据提取:使用xts包的first函数提取时间序列中最前面一个月的数据(first 1 month)
    SQL语言---数据的查询
    第5篇 熊猫烧香逆向分析(下)
    【老生谈算法】matlab实现基本遗传算法应用实例——遗传算法
    ClickHouse 创建数据库建表视图字典 SQL
    【深度学习】高速神经网络(Highway Network)
    【单片机毕业设计】【mcuclub-hj-014】基于单片机的工地降尘的设计
    U9二次开发之BP定时任务插件开发
    skimage学习(3)——使灰度滤镜适应 RGB 图像、免疫组化染色分离颜色、过滤区域最大值
    Vue3 常用知识
  • 原文地址:https://blog.csdn.net/zyf_smile/article/details/128099170