参考:http://www.cnblogs.com/likwo/p/3154868.html

实验环境:Ubuntu 14.04 VMware虚拟机1. 安装

apt-get install vsftpd

2. 创建用户、目录

创建FTP目录

# mkdir /srv/ftp/data

注:/srv/ftp/ 默认创建

创建FTP用户

# useradd -d /srv/ftp/data/ -s /usr/sbin/nologin  -M pwftp

注:

-d :指定用户家目录,

-s:指定用户登入后所使用的shell,/usr/sbin/nologin即为不允许登录,

-M:不要自动建立用户的登入目录,即不复制默认用户文件等。

添加密码

# passwd pwftp

更改分享目录所属

# chown -R pwftp.pwftp /srv/ftp/data/

3. 配置vsftp

# vi /etc/vsftpd.conf

将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”

取消如下配置前的注释符号:

local_enable=YES

write_enable=YES

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

保存退出

编辑/etc/vsftpd.chroot_list文件,将ftp的账户名(pwftp)添加进去,保存退出.

注意:每个账户名独占一行。

若无此文件,则创建

# vi /etc/vsftpd.chroot_list

pwftp

4. 配置防火墙

在配置文件/et/vsftpd.conf中,有这样的配置:

所以,需要同时开启20,21两个端口。

# ufw allow 20

# ufw allow 21

此命名同时开启20,21的tcp和udp协议的端口,也可执行协议端口。

# ufw allow 21/tcp

5. 修改shell配置

编辑/etc/shells,如果该文件里没有/usr/sbin/nologin 或者/sbin/nologin(具体看当前系统配置)则追加进去

# vi /etc/shells

5. 重启服务

# service vsftpd restart

6. 客户端连接

1)Linux

以本机为例:

# ftp localhost

连接本机ftp服务。提示登录用户名,及其密码。

输入:pwftp 及密码

输入:

pwd :查看当前目录

ls : 查看目录

上传文件:put local-file [remote file]

在/tmp/下,存在文件test

ftp> put /tmp/test /srv/ftp/data/test

其他命令,请自行查阅

2)Windows

使用Xftp、WinSCP、Filezila等客户端进连接。下以Xftp为例:

打开终端

点击上图按钮,新建或打开已有会话。

选项注解:

名称:即为会话名称,以区分其他连接

主机:即为目标主机的主机名或IP

协议:即为使用的协议,默认FTP,SFTP建立在SSH基础之上,加密传输。

端口:FTP使用21,SFTP使用22

代理服务器:无

说明:对该会话连接做说明

登录选型:

匿名登录: 需要主机配置,在主机配置文件中/etc/vsftpd.conf中。

默认不允许,不安全。

方法:默认为Password,密码登录

用户名:即上述创建的用户,pwftp

密码:即为用户pwftp的密码

参考下图,实际配置:

连接后,显示内容:

测试:

在主机分享目录(/srv/ftp/data)下创建文件,Xftp中显示。如下图所示:

在分享目录中创建文件text.txt,同时在Xftp会话中刷新,即可看见新建文件。

如有不当之处,请不吝指正!!

Linux下FTP服务(一)—— Ubuntu安装的更多相关文章

  1. linux下FTP服务搭建(1)

    1.FTP介绍: FTP (File Transfer Protocol,文件传输协议)主要用来文件传输,尤其适用于大文件传输,提供上传下载功能 FTP官方网站:https://filezilla-p ...

  2. linux下Ftp服务安装

    安装vsftp 使用yum命令安装vsftp #yum install vsftpd -y 如果yum安装不成功,可以到 http://pkgs.org/centos-6/centos-x86_64/ ...

  3. linux下ftp、telnet的安装和使用

    1.ftp的安装和使用 一般在各种linux的发行版中,默认带有的ftp软件是vsftp. 使用如下命令#rpm -qa | grep vsftpd可以检测出是否安装了vsftpd软件,如果没有安装, ...

  4. <Linux下FTP服务的搭建>

    默认安装好ftp软件包匿名用户是可以下载的.匿名以后可以上传:anon_upload_enable=YES# getsebool -a | grep ftpallow_ftpd_anon_write ...

  5. Linux下MongoDB服务安装

    Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...

  6. Linux 下Telnet 服务安装

    Linux 下Telnet 服务安装 注:以下所有命令均在root用户下执行. 命令测试在Linxu版本6.x下完成,部分命令不适用Linux 7.0以上 1.简介 默认情况下Linux只安装了Tel ...

  7. linux下搭建lamp环境以及安装swoole扩展

    linux下搭建lamp环境以及安装swoole扩展   一.CentOS 6.5使用yum快速搭建LAMP环境 准备工作:先更新一下yum源  我安装的环境是:apache2.2.15+mysql5 ...

  8. Linux下非root用户如何安装软件

    Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...

  9. 《Linux下FTP服务器搭建及FTP使用》

    .LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...

随机推荐

  1. IIS app pools, worker processes, app domains

    Copy from  http://stackoverflow.com/questions/14105345/iis-app-pools-worker-processes-app-domains I ...

  2. 介绍两种风格的URL

    两种风格的“动态资源”——统一资源定位符(Uniform Resource Lactor,URL) 当前互联网上主要有两种主要风格的URL: 第一种直接在URL中知名文件(比如xxx.php,xxx. ...

  3. Windows Azure开发者任务之五:配置虚拟机的“规模”

    指定虚拟机的“规模”是怎么一回事? 我们可以指定角色将要部署于其上的虚拟机的“规模”.虚拟机的“规模”是指: 1,CPU核心数 2,内存容量 3,本地文件系统的体积 我们可以针对具体的角色来指定虚拟机 ...

  4. 通过UIView获取UIViewController

    需求很简单,通过UIViewController.view内的任意控件获取当前UIViewController: 立马开写: /** * @brief 通过viewController内的view,获 ...

  5. c#图片添加水印

    今天讲一个上传图片添加水印的方法,直接上代码吧 protected void Button1_Click(object sender, EventArgs e)    {        int loc ...

  6. 重新想象 Windows 8.1 Store Apps (86) - 系统 UI 的新特性: Theme, 窗口宽度大小可变, ApplicationView, DisplayInformation

    [源码下载] 重新想象 Windows 8.1 Store Apps (86) - 系统 UI 的新特性: Theme, 窗口宽度大小可变, ApplicationView, DisplayInfor ...

  7. 野比的示波器案例(Winfrom用户控件)

    使用该用户控件做的效果图,如果数据正确,可实现 波形.直线.等等效果图...... 对于本程序的认识还是不够深彻.如果有其他方法或算法,欢迎讨论下.将我所能理解的代码都再次标识了一番. ------- ...

  8. DistributedCache小记

    一.DistributedCache简介 DistributedCache是hadoop框架提供的一种机制,可以将job指定的文件,在job执行前,先行分发到task执行的机器上,并有相关机制对cac ...

  9. js 自带的 filter()方法

    1. 方法概述 它用于把Array的某些元素过滤掉,然后返回剩下的元素组成的数组. 2. 例子 2.1 尝试用filter()筛选出素数: 'use strict'; function get_pri ...

  10. D/A转换器

    电荷:带正负电的基本粒子.电的本质是使正负电荷分开,使电荷发生移动,实质是电子的转移,并不是创造电荷.电压:单位正电荷受电场力作用从A点移动到B点所做的功.电压方向从高电位指向低点位.电压是推动电荷定 ...