参考: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. [转]在SqlServer 中解析JSON数据

      在Sqlserver中可以直接处理Xml格式的数据,但因为项目需要所以要保存JSON格式的数据到Sqlserver中在博客:Consuming JSON Strings in SQL Server ...

  2. c# tcp备忘及networkstream.length此流不支持查找解决

    服务端 bool isRunning = true;  MouseKeyBoard mk = new MouseKeyBoard(); void InitTcpServer(int port) { T ...

  3. 【Bootstrap基础学习】00 序

    其实这样的东西很多了,但是我就是要写. 我写这种鬼东西只是为了监督自己,如果能顺便帮一下别人就更好了. 这个系列的基础学习,不会去看实体书,主要是去看网上的资料和官网. Bootstrap就是对jQu ...

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

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

  5. C# 快速反射 IL

    public class FastInvoke { public delegate object FastInvokeHandler(object target, object[] paramters ...

  6. ACdrea 1217---Cracking' RSA(高斯消元)

    ACdrea  1217---高斯消元 Description The following problem is somehow related to the final stage of many ...

  7. 后缀数组---Musical Theme

    POJ   1743 Description A musical melody is represented as a sequence of N (1<=N<=20000)notes t ...

  8. 泛函编程(22)-泛函数据类型-Monoid In Action

    在上一节我们讨论了Monoid的结合性和恒等值的作用以及Monoid如何与串类元素折叠算法相匹配.不过我们只示范了一下基础类型(primitive type)Monoid实例的应用,所以上一节的讨论目 ...

  9. hibernate3 Duplicate class/entity mapping(异常)

    hibernate3 Duplicate class/entity mapping(异常) 代码:      Configuration config = new Configuration().ad ...

  10. .NET Core应用程序的2种部署方式

    1. Portable 共享.NET Core运行时环境与程序集依赖,部署的目标机器上需要事先安装.NET Core SDK,这是.NET Core的默认部署方式. 2. Self-contained ...