转载:http://zyjustin9.iteye.com/blog/2178943

一.安装
1.用apt-get工具安装vsftpd:

  1. $ sudo apt-get install vsftpd

2.检查FTP端口是否已经打开

  1. $ netstat -tnl

或者直接在浏览器里输入“ftp://服务器IP”

开启、停止、重启vsftpd服务的命令:

  1. service vsftpd start | stop | restart

二.配置
1.修改配置文件

  1. $ sudo vi /etc/vsftpd.conf

主要配置:

  1. listen=YES                 # 服务器监听
  2. local_enable=YES         # 是否允许本地用户访问
  3. write_enable=YES         # 是否允许上传文件,不开启会报 550 permission denied
  4. anonymous_enable=NO     # 匿名访问允许,默认不要开启,
  5. #anon_upload_enable=YES # 匿名上传允许,默认是NO
  6. #anon_mkdir_write_enable=YES # 匿名创建文件夹允许

用户访问目录的权限设置:
在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患。可以通过以下三条配置文件来控制用户切换目录。

  1. chroot_local_user=YES      # 用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
  2. chroot_list_enable=YES  # 设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
  3. chroot_list_file=/etc/vsftpd.chroot_list
  4. #禁用的列表名单,格式为一行一个用户,用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。

通过搭配能实现以下几种效果:

  1. (1).当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
  2. (2).当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
  3. (3).当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
  4. (4).当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。

其他配置解释:

  1. local_umask=022         # FTP上本地的文件权限,默认是077
  2. dirmessage_enable=YES     # 进入文件夹允许
  3. xferlog_enable=YES         # ftp 日志记录允许
  4. connect_from_port_20=YES # 启用20号端口作为数据传送的端口
  5. xferlog_enable=yes         # 激活上传和下传的日志
  6. xferlog_std_format=yes     # 使用标准的日志格式
  7. ftpd_banner=XXXXX         # 欢迎信息

相关链接:
vsftpd配置文件详解

2.重启vsftpd服务

  1. $sudo /etc/init.d/vsftpd restart
  2. 或者
  3. $ sudo service vsftpd restart

注:修改配置文件后一定要重启服务才能生效

三.FTP增加删除用户
1.增加用户
#创建目录

  1. mkdir -p /home/test

#创建用户

  1. sudo useradd -g ftp -d /home/test -m test

(注:g:用户所在的组 d:表示创建用户的自己目录的位置给予指定 m:不建立默认的自家目录,也就是说在/home下没有自己的目录)

#设置用户口令

  1. sudo passwd test123

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

重新启动vsftpd:

  1. $ sudo service vsftpd restart

注:修改用户权限文件vsftpf.chroot_list文件后一定要重启服务才能生效

2.删除用户

  1. $ sudo userdel test

四.卸载

sudo apt-get remove --purge vsftpd

(--purge 选项表示彻底删除改软件和相关文件)

Ubuntu中安装配置和卸载FTP(转)的更多相关文章

  1. Ubuntu中安装配置 JDK与apache

    一,前期准备: 1.下载apach网址:https://tomcat.apache.org/download-90.cgi 3.下载:jdk网址:http://www.oracle.com/techn ...

  2. Ubuntu下安装配置和卸载Tomcat

    转载自:http://zyjustin9.iteye.com/blog/2177291 注:此处不采用apt-get安装,因为这种方式安装后,tomcat安装目录会到处都是,像天女散花一样.此处采取下 ...

  3. 在Ubuntu中安装配置java后运行java -version时提示二进制文件不能执行

    因为jdk安装包有问题,试试32位的

  4. ubuntu下安装jdk,tomcat,mysql,ftp,telnet,svn

    需求分析:自己弄了个小网站,想放到云服务器上,同时把自己积累的代码也放上去,服务器上的文件可以简单的在windows上查看,也可以方便的通过windows连接linux服务器. 解决:运行网站要用到j ...

  5. python中在ubuntu中安装虚拟环境及环境配置

    python中在ubuntu中安装虚拟环境及环境配置 1.升级python包管理工具pip pip install --upgrade pip 备注:当你想升级一个包的时候 `pip install ...

  6. 在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法

    在Ubuntu 12.04系统中安装配置OpenCV 2.4.3的方法   对于,在Linux系统下做图像识别,不像在windows下面我们可以利用Matlab中的图像工具箱来实现,我们必须借助Ope ...

  7. # Ubuntu子系统安装配置

    目录 Ubuntu子系统安装配置 安装配置 终端美化 卸载 和win10之间的交互 Ubuntu子系统安装配置 亲测启动速度毫秒之间 安装配置 系统升级到一周年正式版及以上(1607) 依次在 设置 ...

  8. 在ubuntu中安装maven

    安装环境 操作系统:ubuntu 14.04.1 server amd64 安装jdk 在安装maven之前,必须确保已经安装过jdk. 安装jdk的方法请参考文章<在ubuntu中安装jdk& ...

  9. 在Ubuntu中安装Redis

    原文地址:http://blog.fens.me/linux-redis-install/ 在Ubuntu中安装Redis R利剑NoSQL系列文章,主要介绍通过R语言连接使用nosql数据库.涉及的 ...

随机推荐

  1. 例子:使用Grunt创建一个Node.js类库

      创建一个文件夹. 打开命令行或者powershell, 运行npm init,根据提示填入package的信息. 在文件夹中创建index.js文件. /*! * mymongolib * Cop ...

  2. [Git] Squash all of my commits into a single one and merge into master

    Often you have your feature branch you’ve been working on and once it’s ready, you just want it to m ...

  3. 编码GBK的不可映射字符

    1.错误描写叙述 [ERROR] /E:/Eclipse/workspace/huxs/src/test/java/com/you/huxs/utils/SpringTestBase.java:[14 ...

  4. Android NDK开发篇(六):Java与原生代码通信(异常处理)

    一.捕获异常 异常处理是Java中的功能.在Android中使用SDK进行开发的时候常常要用到.Android原生代码在运行过程中假设遇到错误,须要检測,并抛出异常给Java层.运行原生代码出现了问题 ...

  5. Elasticsearch之集群脑裂

    https://www.cnblogs.com/zlslch/p/6477312.html

  6. LintCode: Flatten Binary Tree to Linked List

    C++ Traverse /** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, ...

  7. iOS webservice SOAP 请求

    1. Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的.专门的第三方软件或硬件, 就可相互交换数据或集成.依据Web Service规范实施的应用之间, 无论它们所使用的语 ...

  8. Excel 2007 若干技巧。

    1.自定义序列 office按钮→excel选项→常用→编辑自定义列表 2.无法清空剪贴板错误的处理办法: 取消"显示粘贴选项"选项 3.每次选定同一单元格 输入后按ctrl+En ...

  9. 命令行能运行,但是在crontab不能正常运行的问题

    今天配置了一个crontab,但是怎么也不能执行,原因是环境变量的问题,记录一下. 解决问题的办法,在shell脚本添加: ################## . /etc/profile . ~/ ...

  10. JAVA的CLASS文件详解

    一.事例 1.1 Test.java public class Test { public static void main(String[] args) { System.out.println(& ...