Ubuntu server中搭建vsftpd小记

<h1> 在Ubuntu server中安装vsftpd</h1>

sudo apt-get install vsftpd

<h2>添加用户</h2>

搭建FTP的为了登录用户,不能查看其它目录,只能在自己的目录中操作文件,并且不能登录ssh

1. 添加用户:pinkrose

命令格式是:sudo useradd 用户名 -d 用户的登录目录 -s 登录时候的shell

sudo useradd pinkrose -d /home/pinkrose -s /bin/false

可做可不做的一小步:我们可以进入/etc 目录中sudo vim passwd,查看我自己刚才创建的pinkrose的一点用户信息

pinkrose:x::::/home/pinkrose:/bin/false

2. 给pinkrose用户添加密码

sudo passwd pinkrose

要输入两次密码,就可以成功设置用户的密码了,如:

<h3>配置vsftpd</h3>

进入/etc目录,然后编辑 vsftpd的配置文件 vsftpd.conf

我修改之后的配置文件是:

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
connect_from_port_20=YES
#I change
chroot_local_user=YES
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
#wakasann add config
local_root=/var/www

然后按ESC键,输入":wq" 保存并退出vim

创建chroot_list_file的文件,

sudo vim /etc/vsftpd.chroot_list

打开之后,输入刚才添加的用户名:pinkrose,一行一个用户名

添加完之后,就可以重启vsftpd服务了

sudo service vsftpd restart

然后我们用FTP工具尝试登录ftp

登录可能会报:

1. 530 Login incorrect

[右] 正在连接到 192.168.1.147 -> IP=192.168.1.147 PORT=
[右] 已连接到 192.168.1.147
[右] (vsFTPd 2.3.)
[右] USER pinkrose
[右] Please specify the password.
[右] PASS (hidden)
[右] Login incorrect.
[右] 连接失败

解决方法是:

sudo apt-get remove vsftpd
sudo rm /etc/pam.d/vsftpd
sudo apt-get install vsftpd

2. 登录提示: vsftpd Connection connect time out

我的解决方法是:打开21端口

参考:

1. ubuntu下创建ftp用户,该用户只访问特定目录下的内容

2. linux 添加用户、权限

3. vsftpd锁定用户目录[ubuntu, ftp server, vsftpd.conf]

4. http://www.lylinux.org/ubuntu-12-04-server-installation-the-vsftpd-tips-530-login-incorrect.html

Ubuntu server搭建vsftpd小记的更多相关文章

  1. Ubuntu server 搭建Git server

    Ubuntu server 搭建Git server,git相比svn,最主要就是分布式了,每个客户端用户的本地都是一个版本管理控制器. Ubuntu server 版本为12.04 搭建步骤如下: ...

  2. Ubuntu Server搭建svn服务以及迁移方法【转】

    转自:http://www.linuxidc.com/Linux/2013-05/84693.htm Ubuntu Server搭建svn服务以及迁移方法 采用apache+svn,http访问方式. ...

  3. Ubuntu server 搭建Git server【转】

    转自:http://www.cnblogs.com/candle806/p/4064610.html Ubuntu server 搭建Git server,git相比svn,最主要就是分布式了,每个客 ...

  4. ubuntu上搭建vsftpd且通过mysql来管理FTP账号

    参考文章:http://wiki.ubuntu.org.cn/Vsftpd%E5%92%8Cmysql%E9%85%8D%E7%BD%AE 请各位先按照这篇文章一步一步操作,我这里是记录一些其间遇到的 ...

  5. Ubuntu server搭建Java web服务器

    1. 在Ubuntu server中安装ssh,如果是购买服务器的话,这已经是安装的了,包括vim 获取超级权限 先更新安装包 开始安装ssh ssh已经启动了 2. 安装Xshell并创建连接安装X ...

  6. ubuntu server 搭建自己的个人博客及其他网站

    一, 安装apache2服务器 sudo apt-get install apache2 二,安装mysql服务器 sudo apt-get install mysql-server 此时会提示输入M ...

  7. virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续)

    virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox ...

  8. Ubuntu server下搭建Maven私服Nexus

    Ubuntu server下搭建Maven私服Nexus Maven私服Nexus的作用,主要是为了节省资源,在内部作为maven开发资源共享服务器来使用. 1.下载 通过root用户进去Ubuntu ...

  9. [Linux] Ubuntu Server 12.04 LTS 平台上搭建WordPress(Nginx+MySql+PHP) Part II

    接着上一节继续搭建我们的LNMP平台,接下来我们安装PHP相关的服务 sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5- ...

随机推荐

  1. EasyUI中datagrid的行编辑模式中,找到特定的Editor,并为其添加事件

    有时候在行编辑的时候,一个编辑框的值要根据其它编辑框的值进行变化,那么可以通过在开启编辑时,找到特定的Editor,为其添加事件 // 绑定事件, index为当前编辑行 var editors = ...

  2. ruby编程语言-学习笔记4(第4章 表达式和操作符)

    4.6.9 范围  Flip-Flops:  ..和... ..和... 操作符不是基于方法的,无法重定义.(优先级比较低) x+1 .. x*x   #可以认为是x+1 至 x*x 的范围 因为操作 ...

  3. Com 笔记 -可连接对象

    首先 两个概念: 1.入接口 :源对象提供给客户调用的. 2.出接口 :源对象通过此接口可直接或间接调用客户.类似delegate 对于实现了出接口的对象称为可连接对象. 对应每一个出接口,可连接对象 ...

  4. WPF线程获取UI线程

    WPF中只能是UI线程才可以改变UI控件相关,当采用多线程工作时,可用以下代码获取 UI线程进行操作: App.Current.Dispatcher.Invoke((Action)delegate() ...

  5. 问题-[VMware Workstation]断电后,重启电脑,之后就提示“内部错误”

    问题现象:突然断电后,重启电脑,再打开VMware Workstation,启动不了.之后就提示“内部错误”.问题原因:希望高人指点.问题处理:关闭VMware Workstation,在快捷方式上, ...

  6. PAT 1075. PAT Judge (25)

    题目地址:http://pat.zju.edu.cn/contests/pat-a-practise/1075 此题主要考察细节的处理,和对于题目要求的正确理解,另外就是相同的总分相同的排名的处理一定 ...

  7. 使用Camstudio和KeyCastOW来录屏制作软件Demo视频

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:使用Camstudio和KeyCastOW来录屏制作软件Demo视频.

  8. linux-多线程

    一.什么是线程? 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立执行的基本单位.线程自己基本上不拥有系统资源,仅仅拥有一点在执行中不可缺少的资源(如程序计数器,一组寄存器和 ...

  9. 算法 - 求和为n的连续正整数序列(C++)

    //************************************************************************************************** ...

  10. [Angular 2] Building a Toggle Button Component

    This lesson shows you how to build a Toggle Button in Angular 2 from scratch. It covers using transc ...