1.安装并启动 FTP 服务

安装 VSFTPD

使用 apt-get 安装 vsftpd

kylin@kylin:~$ sudo apt-get install vsftpd -y
[sudo] password for kylin:
Sorry, try again.
[sudo] password for kylin:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
gtk2-engines-xfce libkeybinder-3.0-0 libxfce4panel-2.0-4 libxfce4ui-utils
linux-headers-4.10.0-28 linux-headers-4.10.0-28-generic
linux-image-4.10.0-28-generic linux-image-extra-4.10.0-28-generic orage
tango-icon-theme thunar thunar-volman xfce4-appfinder xfce4-panel
xfce4-pulseaudio-plugin
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
vsftpd
0 upgraded, 1 newly installed, 0 to remove and 28 not upgraded.
Need to get 115 kB of archives.
After this operation, 336 kB of additional disk space will be used.
Get:1 http://cn.archive.ubuntu.com/ubuntu xenial/main amd64 vsftpd amd64 3.0.3-3ubuntu2 [115 kB]
Fetched 115 kB in 0s (1,212 kB/s)
Preconfiguring packages ...
Selecting previously unselected package vsftpd.
(Reading database ... 288442 files and directories currently installed.)
Preparing to unpack .../vsftpd_3.0.3-3ubuntu2_amd64.deb ...
Unpacking vsftpd (3.0.3-3ubuntu2) ...
Processing triggers for systemd (229-4ubuntu21) ...
Processing triggers for ureadahead (0.100.0-19) ...
ureadahead will be reprofiled on next reboot
Processing triggers for man-db (2.7.5-1) ...
Setting up vsftpd (3.0.3-3ubuntu2) ...
Processing triggers for systemd (229-4ubuntu21) ...
Processing triggers for ureadahead (0.100.0-19) ...
启动 VSFTPD
安装完成后 VSFTPD 会自动启动,通过 netstat 命令可以看到系统已经

监听了 21 端口:
kylin@kylin:~$ sudo netstat -nltp | grep 21
tcp6 0 0 :::21 :::* LISTEN 4714/vsftpd

如果没有启动,可以手动开启 VSFTPD 服务:

sudo systemctl start vsftpd.service

2.配置用户访问目录

新建用户主目录:

kylin@kylin:~$ sudo mkdir /home/uftp

执行完后,在这里 /home/uftp ,就能看到新建的文件夹 uftp 了。

创建登录欢迎文件 :

kylin@kylin:~$ sudo touch /home/uftp/welcome.txt

创建一个用户 uftp

kylin@kylin:~$ sudo useradd -d /home/uftp -s /bin/bash uftp

为用户 uftp 设置密码 

kylin@kylin:~$ sudo passwd uftp
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

删除掉 pam.d 中 vsftpd,因为该配置文件会导致使用用户名登录 ftp 失败:

kylin@kylin:~$ sudo rm /etc/pam.d/vsftpd

限制用户 uftp 只能通过 FTP 访问服务器,而不能直接登录服务器:

kylin@kylin:~$ sudo usermod -s /sbin/nologin uftp

修改 vsftpd 配置

kylin@kylin:~$ sudo chmod a+w /etc/vsftpd.conf

修改 /etc/vsftpd.conf 文件中的配置(直接将如下配置添加到配置文件最下方):

# 限制用户对主目录以外目录访问
chroot_local_user=YES # 指定一个 userlist 存放允许访问 ftp 的用户列表
userlist_deny=NO
userlist_enable=YES # 记录允许访问 ftp 用户列表
userlist_file=/etc/vsftpd.user_list # 不配置可能导致莫名的530问题
seccomp_sandbox=NO # 允许文件上传
write_enable=YES # 使用utf8编码
utf8_filesystem=YES

新建文件 /etc/vsftpd.user_list,用于存放允许访问 ftp 的用户:

kylin@kylin:~$ sudo touch /etc/vsftpd.user_list
kylin@kylin:~$ sudo chmod a+w /etc/vsftpd.user_list

修改 /etc/vsftpd.user_list ,加入刚刚创建的用户:

uftp

设置访问权限

设置主目录访问权限(只读):

kylin@kylin:~$ sudo chmod a-w /home/uftp

新建公共目录,并设置权限(读写):

kylin@kylin:~$ sudo mkdir /home/uftp/public && sudo chmod 777 -R /home/uftp/public

重启vsftpd 服务:

kylin@kylin:~$ sudo systemctl restart vsftpd.service

 3.FTP 服务已安装并配置完成,下面我们来使用该 FTP 服务

ftp://uftp:你的密码@119.29.174.183

原文链接:https://cloud.tencent.com/developer/labs/lab/10123

 

Ubantu搭建FTP的更多相关文章

  1. 在Ubuntu Server 14.04中搭建FTP服务器(VMWare)

    自己搭建ftp服务器,方便主机与虚拟机中的Ubuntu传输文件. 选用的ftp软件为vsftpd. 1.命令行: sudo apt-get install vsftpd 2.安装完配置: vsftpd ...

  2. 超简单——自己搭建ftp服务器

    自己搭建ftp服务器 之所以没选择serv-u,一是因为收费,虽说网上有破解版,但是使用过程中发现破解版很不稳定,经常异常死掉,随后改选用免费的filezilla. 1软件获取 从百度搜索 FileZ ...

  3. Linux 搭建FTP服务器

    介绍 本章主要介绍在Linux中搭建FTP服务器的过程,需要掌握的要点是配置文件的合理配置. 知识点 在linux中使用的FTP是vsftp FTP可以有三种登入方式分别是: 匿名登录方式:不需要用户 ...

  4. RedHat6.2搭建FTP服务器

    我的环境: A:Red Hat Enterprise 6.2 IP:192.168.16.12 此机作测试端 B:Red Hat Enterprise 6.2 IP:192.168.16.13 此机做 ...

  5. 使用FileZilla等软件搭建ftp服务器

    FTP的全称是File Transfer Protocol(文件传输协议).顾名思义,就是专门用来传输文件的协议. FTP服务器,则是在互联网上提供存储空间的计算机,它们依照FTP协议提供服务.简单地 ...

  6. 使用apache ftpserver搭建ftp服务器

    作为一个javaer,遇到任何问题,先查一下java中的解决方案.地球上的许多事情,在java中都能找到完美的解决方案.之前搭建ftp服务器使用的是vsftpd,现在可以把它卸掉了,它以服务的形式运行 ...

  7. 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器

    最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置. ftp软件用的是vsftpd. vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序 ...

  8. Windows 2008 利用Filezilla server搭建FTP

    Windows 2008 利用Filezilla server搭建FTP, 安装后总是提示Error Connection To Server Lost , 后来,无意中先安装了IIS,再安装file ...

  9. 【转载】debian上快速搭建ftp

    转载自:http://suifengpiaoshi.diandian.com/post/2012-05-05/17955899 搭建ftp 包括搭建ftp服务器和ftp客户端 本文以debian上搭建 ...

随机推荐

  1. Android开发艺术探究Note

    第一章:Activity的生命周期和启动模式 生命周期 onPause表示activity正在停止,onPaus必须先执行完(栈顶的activity),新的activity的onResume才会执行. ...

  2. 树莓派搭建WEB服务器

    树莓派搭建WEB的教程网上有许多,但感觉每一篇都有一些问题,这次我将网上的教程汇总,并亲身实践,将注意的问题都写进去,方便新手学习! 目录:1,安装nginx+sqlite+php5打造轻量级服务器, ...

  3. linux(二)之linux常用命令一

    linux的命令非常之多,命令多就算了关键每个命令还有很多的参数.不过其实并不要去害怕它.你只要常去用,并且的话,大部分你只要记住命令,参数不记得我们可以去查帮助文档.加油吧!老帖们. 一.登入\登出 ...

  4. UVA11636-Hello World!-水题

    Hello World! Time limit: 1.000 seconds When you first made the computer to print the sentence "H ...

  5. yum指令

    接上个教程,如果用yum list 命名,运行后出现如下结果:则正确搭建了环境 如 yum search httpd 搜索apache的包 安装gcc ,是c语言的编译器 注意:LANG是临时改变的. ...

  6. jquery实现上下滑动选择

    $('.rightShow').on('mousewheel', function(ev) { var dir = ev.originalEvent.wheelDelta if(dir == 120) ...

  7. 科普:String hashCode 方法为什么选择数字31作为乘子

    1. 背景 某天,我在写代码的时候,无意中点开了 String hashCode 方法.然后大致看了一下 hashCode 的实现,发现并不是很复杂.但是我从源码中发现了一个奇怪的数字,也就是本文的主 ...

  8. JavaScript八张思维导图—编程实践

    JS基本概念 JS操作符 JS基本语句 JS数组用法 Date用法 JS字符串用法 JS编程风格 JS编程实践 不知不觉做前端已经五年多了,无论是从最初的jQuery还是现在火热的Angular,Vu ...

  9. 从零开始学习前端JAVASCRIPT — 2、JavaScript基础ES5

    1:ES5简介 ECMAScript 5.1 (或仅 ES5) 是ECMAScript(基于JavaScript的规范)标准的修正. 与HTML5规范进程本质类似,ES5通过对现有JavaScript ...

  10. Linux包管理器

    按Linux系统分类 Redhat系列:Redhat(本身就是Centos).Centos.Fedora等,采用Dpkg包管理器 Debian系列:Debian.Ubuntu等,使用RPM包管理器 R ...