本篇文章由:http://xinpure.com/ubuntu-12-04-install-vsftpd/

安装背景

wordpress 在线升级需要配置 ftp 帐号,之前用的是虚拟主机,都是带有 ftp 所以没管过这个东西

前不久将博客迁移到 aliyun 服务器之后,ftp 就得自己来安装了。

这里选择安装 vsftpd(Very Secure FTP),看名字就知道比较屌。。。

开始安装

安装 ftp 软件

使用 apt-get 工具来安装软件是一件非常方便的事情

sudo apt-get install vsftpd

安装完成后,可通过以下命令查看是否打开 ftp 端口

netstat -tl

或者在浏览器里输入:

ftp://你的服务器IP

如果可以正常打开,就算安装成功了。

开启、停止、重启 ftp 服务也比较简单

service vsftpd start | stop | restart

添加 ftp 帐号

首先需要给 ftp 帐号创建一个目录作为该用户的根目录

如:

mkdir -p /home/xinpure

我这里是给 wordpress 提供帐号,用于在线更新使用,所以就直接指向 wordpress 目录

useradd xinpure -g ftp -d /Project/xinpureZhuBlog -s /sbin/nologin

ftp 用户组已在安装 vsftpd 时创建。

给帐号设置密码:

passwd xinpure

修改配置文件

备份并打开配置文件

cp /etc/vsftpd.conf /etc/vsftpd.conf_backup
vim /etc/vsftpd.conf

禁止匿名访问 以及 接受本地用户 都是默认配置好的,不需要修改。

# Allow anonymous FTP? (Disabled by default)
anonymous_enable=NO # Uncomment this to allow local users to log in.
local_enable=YES

启用写入权限

# Uncomment this to enable any form of FTP write command.
write_enable=YES

启用在 chroot_list_file 的用户只能访问根目录(即添加帐号时指定的目录), 取消注释即可

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

/etc/vsftpd.chroot_list 添加受访问目录限制的用户:

echo "xinpure" >> /etc/vsftpd.chroot_list

其它配置

  1. /etc/shells 最后一行添加 /sbin/nologin

否则会导致 530 Login incorrect 登录错误

  1. 在启用 chroot 后,根目录需要设置为不可写

    chmod a-w /Project/xinpureZhuBlog

否则会出现 500 OOPS: vsftpd: refusing to run with writable root inside chroot() 登录错误

参考链接

http://m.blog.csdn.net/blog/lixiang201101/38307715

Ubuntu 12.04 安装 vsftpd的更多相关文章

  1. ubuntu 12.04 安装Docker 实战

    2016-3-8 从网络服务商那里申请到一台Ubuntu测试服务器,用来测试安装Docker环境. 注:本人初学Docker,对Linux命令也仅是稍稍了解,如有错误,烦请告知. 查看系统相关信息 可 ...

  2. Ubuntu 12.04 安装 Apache2+PHP5+MySQL

    LAMP是Linux web服务器组合套装的缩写,分别是Apache+MySQL+PHP.此教程教大家如何在Ubuntu 12.04 LTS server 上安装Apache2服务器,包括PHP5(m ...

  3. Ubuntu 12.04安装Adobe Reader

    原本从Adobe 官方网站下载了 Adobe Reader, 是个rpm包,先用agt-get 装了rpm(sudo apt-get install rpm), 一安装(rpm -ivh AdobeR ...

  4. Ubuntu 12.04 安装MySQL

    本文地址:http://www.cnblogs.com/yhLinux/p/4012689.html 本文适合新手入门. 本文是对 Ubuntu 12.04 环境下安装 MySQL 的记录,通过这两天 ...

  5. ubuntu 12.04 安装wireshark

    轉載自http://blog.chinaunix.net/uid-27064719-id-3786626.html 在ubuntu 12.04下安装wireshark软件之后,打开wireshark开 ...

  6. ubuntu 12.04 安装 redis

    原文地址:http://ijonas.com/software-development/nosql/412/ 1 Installing Redis 2.6.x on Ubuntu 12.04 and ...

  7. ubuntu 12.04安装TP-LINK TL-WN725N v2

    用了一个上午,折腾完毕,分享如下. 1.先试了ndiswrapper和compat-wireless,各种不给力.后来看这篇博文<Ubuntu12.04下安装TL-WN322G+无线网卡驱动(R ...

  8. 【转】Ubuntu 12.04 安装JDK 8和Eclipse

    原文网址:http://blog.csdn.net/yechaodechuntian/article/details/24853813 Ubuntu 12.04 下安装 JDK8 方法一:(缺点是安装 ...

  9. Ubuntu 12.04 安装wine1.7

    从源码安装wine 我的系统环境:ubuntu 12.04.4 X64 wine版本:wine-1.7.12.tar.bz2 解压:tar -xvf wine-1.7.12.tar.bz2 进入win ...

随机推荐

  1. 測试oracle 11g cluster 中OLR的重要性

     測试oracle 11g cluster 中OLR的重要性 called an Oracle Local Registry (OLR): each node in a cluster has a ...

  2. 【maven】maven命令 package、install、deploy 的区别

    maven命令  package.install.deploy  的区别

  3. web小流量实验方案

    近期在思考怎么做小流量,在网上搜了一下,总结例如以下: 1.前提,站点pv已经达到了一定的规模,比方上百万pv,不做小流量冒然更新功能,可能会带来大面积流量损失.在这样的前提下须要做小流量实验 2.什 ...

  4. MFC HTML的img显示摄像头图像

    cv::VideoCapture vc; vc.open(0); cv::Mat temp; vc.read(temp); //cv::resize(temp,temp,cv::Size(320,24 ...

  5. react的传值类型PropTypes简单说明

    1.首先可以有那么多种类型 propTypes: { // 可以声明 prop 为指定的 JS 基本类型.默认 // 情况下,这些 prop 都是可传可不传的. optionalArray: Reac ...

  6. 3)Linux程序设计入门--文件操作

    )Linux程序设计入门--文件操作 Linux下文件的操作 前言: 我们在这一节将要讨论linux下文件操作的各个函数. 文件的创建和读写 文件的各个属性 目录文件的操作 管道文件 .文件的创建和读 ...

  7. 视频运行库AVICAP32.DLL说明收藏

    视频运行库AVICAP32.DLL说明收藏2008-09-28 09:04 // ----------------------------------------------------------- ...

  8. iOS:二叉树多级表格的使用,使用三方库TreeTableView-master实现对json解析数据的递归遍历整理成树状结构

    在项目中,我们有时需要使用二叉树来实现多级表格的递归遍历查询,如果对二叉树比较懂,那么写起来其实也不费事,为了节省开发时间,下面介绍一下第三方库TreeTableView-master,这个三方库上给 ...

  9. 多种非接触卡 ATQA 字节说明

      原文地址 13.56 MHz RFID Software An Open Source implementation of an NFC stack, and various related ut ...

  10. go语言基础之函数有多个返回值

    1.函数有多个返回值 示例1: package main //必须有一个main包 import "fmt" //go推荐用法 func myfunc01() (int, int, ...