转载: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. Android 自定义 ListView 上下拉动刷新最新和加载更多

    本文内容 开发环境 演示上下拉动刷新最新和加载更多 ListView 参考资料 本文演示上下拉动,刷新最新和加载更多,这个效果很常见,比如,新闻资讯类 APP,当向下拉动时,加载最新的资讯:向上拉动时 ...

  2. struts-config.xml配置详解

    <struts-config>是struts的根元素,它主要有8个子元素,DTD定义如下: <!ELEMENT struts-config (data-sources?,form-b ...

  3. android中Snackbar(Design Support)的使用

    Snackbar是Android Design Support Library中的一个组件,想使用Snackbar,必须先引入Design Support,我这里引入的是当前的最新版本: implem ...

  4. did not call through to super.onCreate()

    android.util.SuperNotCalledException: Activity {com.xkyiliao.xkhospital/com.xkyiliao.xkhospital.acti ...

  5. 算法笔记_213:第七届蓝桥杯软件类决赛部分真题(Java语言C组)

    目录 1 平方末尾 2 七星填数 3 打印数字 4 赢球票 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 平方末尾 平方末尾 能够表示为某个整数的平方的数字称为“平方数” 比如,25,64 虽然无 ...

  6. Linux账号管理与ACL权限设置

    1:UID和GID 用户ID:在/etc/passwd中 群组ID:在/etc/group中 2:有效群组与初始群组 初始群组:/etc/passwd文件里面的GID 有效群组: groups #查看 ...

  7. Hibernate学习笔记一:项目创建与基本配置文件

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6760773.html  一:ORM ORM:对象-关系 映射. 即:把Java中有关联关系的对象,转换成关系型 ...

  8. Java对象在虚拟机中的创建、内存分布、访问定位以及死亡判定

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6535156.html  一:虚拟机中对象的创建 1:虚拟机遇到new指令时,在常量池检索是否有对应的符号引用, ...

  9. Spring MVC 零配置 / Spring MVC JavaConfig

    1. Spring MVC的核心就是DispatcherServlet类,Spring MVC处理请求的流程如下图所示: 2. Spring MVC中典型的上下文层次 当我们初始化一个Dispatch ...

  10. 〖Android〗代理与正常网络分开同步CyangenMod源码

    为了同步CyanogenMod源代码,你也学会了FQ,对吗? 通常 .repo/manifest.xml 文件有Google AOSP的Project,也有Github的Project: 访问Gith ...