参考: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. Struts2的基本流程的详细介绍

    Struts2基本流程 概述: Struts2框架由三部分构成:核心控制器.业务控制器和用户实现的业务逻辑组件.在这三部分中,struts2框架提供了核心控制器StrutsPrepareAndExec ...

  2. .net中以传引用的方式 向方法中传参数

    CLR(CommonLanguageRuntime)公共语言运行时,允许以传引用而非传值的方式传递参数.在C#中,这是用关键字 out 和ref来做到的. 从CLR角度来看,这两个关键字没什么区别,生 ...

  3. spring.net中的IOC和DI-初使用

    前面准备:下载spring.net并解压 下载地址:spring.net下载地址 Ioc:控制反转         DI:依赖注入 一.IOC(控制反转) 1.新建一个控制台程序springTest, ...

  4. 【C#】线程协作式取消

    Microsoft .Net Framework 提供了一个标准的取消操作的模式.这个模式是协作式的,意味着你想取消的操作必须显示地支持取消. CLR为我们提供了两个类: System.Threadi ...

  5. 【C#进阶系列】04 类型基础

    关于System.Object 所有类型都从System.Object派生而来. System.Object的公共方法中ToString()一般是返回对象的类型的全名,只有Int32这些类型将其重写后 ...

  6. 创建WCF服务自我寄宿

    WCF服务的寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以寄宿在各种进程之中,常见的寄宿有: IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为 ...

  7. 泛函编程(21)-泛函数据类型-Monoid

    Monoid是数学范畴理论(category theory)中的一个特殊范畴(category).不过我并没有打算花时间从范畴理论的角度去介绍Monoid,而是希望从一个程序员的角度去分析Monoid ...

  8. ztree树 叶子节点路径的集合

    1.Question Description: ztree树各个节点都带有路径,如“/根节点”,"/根节点/一级节点",“根节点/一级节点/二级节点‘; 现在想获取所选的最末级节点 ...

  9. 设置php下载文件的超时时间

    使用curl 可以使用curl自己实现一个curl_file_get_contents函数 //CURLOPT_FOLLOWLOCATION TRUE 时将会根据服务器返回 HTTP 头中的 &quo ...

  10. Tomcat一些小事

    1.编码问题 1.1.乱码 客户端发请GET请求,如果这个请求地址上有中文,而且也没有进行encode的时候,后端就可能接收到乱码. --解决办法 在tomcat , conf/server.xml ...