美文网首页
Ubuntu14.04搭建FTP服务器记录

Ubuntu14.04搭建FTP服务器记录

作者: chenwr2018 | 来源:发表于2019-05-24 11:14 被阅读0次

    一、Ubuntu 14.04下FTP服务器的安装

    1.安装vsftpd

    打开"终端窗口",输入"sudo apt-get install vsftpd"-->回车-->安装完成。

    2.判断vsftpd是否安装成功

    打开"终端窗口",输入"sudo service vsftpd restart"重启vsftpd服务-->回车-->vsftpd处于运行状态,说明安装成功。

    3.设置用户主目录、新建用户ftp并设置密码

    打开"终端窗口",输入"sudo useradd -d /home/workspace/project/Build_FOTA -s /bin/bash ftp"-->回车-->用户新建成功-->输入"sudo passwd ftp"设置ftp用户的密码-->回车-->输入两次密码-->回车-->密码设置成功。



    设置完后,该ftp用户浏览器访问,只能看到Build_FOTA 目录下的内容。



    单纯的使用useradd ftp1,没有指定目录的话,测试浏览器也是无法访问FTP服务器。

    如果想删除某个用户,例如ftp,删除命令为:userdel -r ftp (参数-r 用于彻底删除)

    root@chenwr-pc:/home/workspace/project/Build_FOTA# userdel -r ftp
    userdel: ftp mail spool (/var/mail/ftp) not found
    userdel: /srv/ftp not owned by ftp, not removing
    

    4.默认配置FTP能够下载,但是无法上传文件

    首先优先确认防火墙是否关闭。
    selinux默认ubuntu不安装,因此使用getenforce来查看当前selinux状态

    root@chenwr-pc:/etc/selinux# getenforce 
    Disabled
    

    其次确定windows防火墙是否关闭


    连接到 172.16.XX.XX。
    220 (vsFTPd 3.0.2)
    200 Always in UTF8 mode.
    ftp> user ftp
    331 Please specify the password.
    
    230 Login successful.
    ftp>
    ftp> put 1.zip /home/workspace/project/Build_FOTA/EC20-delta-gentools/v1/targetfiles.zip
    200 PORT command successful. Consider using PASV.
    550 Permission denied.
    

    提示没有权限,修改配置文件即可。
    上传 功能# Uncomment this to enable any form of FTP write command.
    write_enable=YES(开启就好了)
    sudo service vsftpd restart重启服务就ok

    原先目录存在同名文件,上传文件提示无法创建文件,此时只需要修改目录权限即可。

    200 PORT command successful. Consider using PASV.
    553 Could not create file.
    

    修改FTP服务器指定目录的权限即可
    chmod 777 -R EC20-delta-gentools/

    5.指定用户访问FTP服务器配置

    (1)输入"sudo gedit /etc/ftpusers",该文件记录不能访问FTP服务器的用户清单



    测试使用ftp2用户无法访问

    (2)自己新建文件存储ftp用户名来允许访问的方式。

    root@chenwr-pc:/etc# vi cwr_allow_users
    

    并添加ftp ftp1 ftp2 自己测试添加的用户名,进行测试。
    修改 /etc/vsftpd.conf配置文件,添加

    • userlist_deny=NO
    • userlist_enable=YES # vsftpd 将会从所给的用户列表文件中加载用户名字列表
    • userlist_file=/etc/cwr_allow_users # 存储用户名字的列表
    • 重启服务

    详细说明:
    配置 vsftpd.conf
    第一步,配置userlist_deny

    • 当userlist_deny=YES,用户列表/etc/cwr_allow_users中的用户无法访问FTP服务器;
    • 当userlist_deny=NO,用户列表/etc/cwr_allow_users中的用户能够访问FTP服务器;

    第二步,userlist_enable=YES 启用了用户列表。
    第三步,配置用户列表,userlist_file=/etc/cwr_allow_users (cwr_allow_users这个文件自己新建的,随意怎么命名都可以)

    root@chenwr-pc:/etc# cat cwr_allow_users 
    ftp
    ftp1
    ftp2
    

    6.卸载vsftpd和配置文件

    sudo apt-get remove vsftpd --purge

    root@chenwr-pc:~# sudo apt-get remove vsftpd --purge
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following packages will be REMOVED:
      vsftpd*
    0 upgraded, 0 newly installed, 1 to remove and 750 not upgraded.
    After this operation, 361 kB disk space will be freed.
    Do you want to continue? [Y/n] y
    (Reading database ... 185238 files and directories currently installed.)
    Removing vsftpd (3.0.2-1ubuntu2.14.04.1) ...
    vsftpd stop/waiting
    Purging configuration files for vsftpd (3.0.2-1ubuntu2.14.04.1) ...
    Processing triggers for man-db (2.6.7.1-1) ...
    

    二、vsftpd.conf配置文件

    配置选项说明

    anonymous_enable=NO       # 关闭匿名登录
    local_enable=YES                # 允许本地用户登录
    write_enable=YES                # 启用可以修改文件的 FTP 命令
    local_umask=022                  # 本地用户创建文件的 umask 值
    dirmessage_enable=YES      # 当用户第一次进入新目录时显示提示消息
    xferlog_enable=YES              # 一个存有详细的上传和下载信息的日志文件
    connect_from_port_20=YES # 在服务器上针对 PORT 类型的连接使用端口 20(FTP 数据)
    xferlog_std_format=YES        # 保持标准日志文件格式
    listen=NO                               # 阻止 vsftpd 在独立模式下运行
    listen_ipv6=YES                     # vsftpd 将监听 ipv6 而不是 IPv4,你可以根据你的网络情况设置
    pam_service_name=vsftpd    # vsftpd 将使用的 PAM 验证设备的名字
    userlist_enable=YES             # 允许 vsftpd 加载用户名字列表
    tcp_wrappers=YES                # 打开 tcp 包装器
    chroot_local_user=YES         # 选项chroot_local_user=YES 意味着本地用户将进入 chroot 环境,当登录以后默认情况下是其 home 目录。
    allow_writeable_chroot=YES  # 默认情况下,出于安全原因,VSFTPD 不允许 chroot 目录具有可写权限。设置为YES为开启写权限。
    

    参考资料:
    ubuntu 下的ftp详细配置 - 何惜戈 - 博客园 https://www.cnblogs.com/hexige/p/7809481.html

    树莓派FTP文件传输小记 - 兴国的博客 - CSDN博客 https://blog.csdn.net/cyzyfs/article/details/56489934

    相关文章

      网友评论

          本文标题:Ubuntu14.04搭建FTP服务器记录

          本文链接:https://www.haomeiwen.com/subject/hlfgzqtx.html