安装

 一.安装

  sudo apt-get install vsftpd

 

二.查看安装结果

  安装完毕,检查vsftpd进程是否已启动,可以查看进程或者查看监听端口  

 ps  -eaf|grep  vsftpd

 tony@T:~$ ps -eaf | grep vsftpd

 root              : ?        :: /usr/sbin/vsftpd

 tony           : pts/    :: grep --color=auto vsftpd

 netstat -tnl | grep :

 tony@T:~$ netstat -tnl | grep :

 tcp               0.0.0.0:              0.0.0.0:*               LISTEN

 端口21正在被监听

   

 三. 尝试匿名用户登录

  安装完后不用做任何配置既可用匿名方式进行访问,默认的ftp文件夹为/srv/ftp。

  登录可以在浏览器中,文件夹输入框中以及类型windows/Linux终端中进行测试。

  建议使用windows/Linux终端测试,失败了会有错误输出,可以根据错误进行调试。

  更改配置文件vsftpd.conf

 anonymous_enable=YES

  匿名登录,用户名称ftp,密码不输入,直接回车

 C:\Users\Tony>ftp 192.168.1.108

 连接到 192.168.1.108。

  (vsFTPd 2.2.)

 用户(192.168.1.108:(none)): ftp

  Please specify the password.

 密码:

  Login successful.

  登录到的目录就是/srv/ftp目录,在里面的文件就能够查看到

 四. 使用ubuntu的账户登录

  此时就访问ftp账户,默认是linux的账户,使用cmd中登录。

  需要注意的是,ftp服务器端文件路径是用户的家目录

 C:\Users\Tony>ftp 192.168.1.108

 连接到 192.168.1.108。

  (vsFTPd 2.2.)

 用户(192.168.1.108:(none)): tony

  Please specify the password.

 密码:

  Login successful.

  五. 在ubuntu中,vsftpd的主要配置文件分布如下:

  /etc/vsftpd.conf      vsftpd服务器的配置文件

  /usr/sbin/vsftpd      vsftpd服务器的进程文件

  /etc/pam.d/vsftpd     vsftpd服务器的PAM接口配置文件

  /var/ftp              vsftpd服务器匿名用户的工作目录

  六. vsftpd的开始、关闭和重启

  sudo /etc/init.d/vsftpd  start   #开始

  sudo /etc/init.d/vsftpd  stop    #关闭

  sudo /etc/init.d/vsftpd  restart #重启

创建虚拟账户

 一.安装生成虚拟帐号数据库工具db

  sudo apt-get install db4.-util

 二. 更改vsftp.conf的配置

  修改配置之前,先备份当前配置

  sudo cp /etc/vsftp.conf /etc/vsftp.conf.old

  配置的服务器中 vsftpd.conf的参数使用如下:

   listen=YES

   #listen_ipv6=YES

   anonymous_enable=NO //允许匿名用户访问,若禁止使用NO

   local_enable=YES    //允许本地用户访问,若禁止则使用NO

   write_enable=YES //表示是否允许本地用户有上传权限的,YES表示可以,NO表示禁止,也取决于客户端连接时使用的客户端工具

   #local_umask= //设置本地用户上传建立文件时的权限掩码

   #anon_upload_enable=YES //匿名用户上传文件使能

   #anon_mkdir_write_enable=YES //匿名用户可以创建目录

   dirmessage_enable=YES //用户切换进入目录时显示.message(如果存在)文件的内容

   message_file=Welcome

   xferlog_enable=YES      //是否开启传输日志的

   connect_from_port_20=YES ////连接控制端口为20

   chown_uploads=YES

   chown_username=ftp

   chroot_local_user=YES //所有的本地用户都被锁定在家目录下

   chroot_list_enable=YES

   chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

   xferlog_file=/var/log/vsftpd.log

   xferlog_std_format=YES

   idle_session_timeout=

   data_connection_timeout= //#数据连接的超时时间

   #nopriv_user=ftpsecure

   #async_abor_enable=YES

   ascii_upload_enable=YES

   ascii_download_enable=YES

   ftpd_banner=Welcome to blah FTP service. //login欢迎信息

   #deny_email_enable=YES

   max_clients=

   max_per_ip=

   local_max_rate=

   #hide_ids=YES

   idle_session_timeout=

   guest_enable=YES

   guest_username=ftp

   user_config_dir=/etc/vsftpd/vsftpd_user_conf

   pam_service_name=vsftpd.vu

   

三. 建立各账户的home目录

  在/home目录建立ftp的账户ftpdir目录

 cd /home/ftp/

   sudo  mkdir  ftpdir

  然后在ftpdir目录下创建admin, tony目录

   cd  ftpdir
sudo mkdir admin tony

四.为虚拟用户创建本地系统用户

  虚拟用户家目录为/home/ftpdir, 用户登录终端设为/bin/false(即使之不能登录系统)

  sudo useradd ftp -d /home/ftpdir -s /bin/false
  sudo chown -R ftp:ftp /home/ftpdir

五. 创建虚拟用户数据库

  新建loguser.txt文件,

  sudo vi /home/loguser.txt

  里面输入虚拟用户名和密码,格式如下

  admin

  admin

  tony

  tony

  注意不要多空格和空行,其中奇数行为用户名,偶数行为密码。

  最后一行需要回车(否则建立数据库文件时无法识别最后一行,导致报奇数行错误)。

  新建一个文件夹/etc/vsftpd,放置配置文件

  sudo  mkdir  /etc/vsftpd

  然后执行

  sudo db4.8_load -T -t hash -f /home/loguser.txt /etc/vsftpd/vsftpd_login.db

  最后设置一下数据库文件的访问权限

  sudo chmod  /etc/vsftpd/vsftpd_login.db

 六. 配置PAM文件

   新建/etc/pam.d/vsftpd.vu,并编辑,

   sudo touch /etc/pam.d/vsftpd.vu

   sudo vi /etc/pam.d/vsftpd.vu

   输入内容如下:

   auth  required  /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login

   account  required  /lib/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login

七.新建etc/vsftpd /vsftpd_user_conf文件夹

  sudo  mkdir  /etc/vsftpd/vsftpd_user_conf

  现在,我们要把各个用户的配置文件放到目录/etc/vsftpd/vsftpd_user_conf中

  cd  /etc/vsftpd/vsftpd_user_conf

  sudo touch admin tony

  

八. 配置admin虚拟用户

   权限:上传,下载删除,重命名.

   sudo vi /etc/vsftpd/vsftpd_user_conf/admin

   里面添加

   write_enable=YES

   anon_world_readable_only=NO

   anon_upload_enable=YES

   anon_mkdir_write_enable=YES

   anon_other_write_enable=YES

   local_root=/home/ftpdir

   

九. 配置tony虚拟用户

  权限:上传,下载

   sudo vi /etc/vsftpd/vsftpd_user_conf/tony

   里面添加

   write_enable=YES

   anon_world_readable_only=NO

   anon_upload_enable=YES

   anon_mkdir_write_enable=NO

   anon_other_write_enable=NO

   local_root=/home/ftpdir/tony

  

十. 新建/etc/vsftpd/vsftpd.chroot_list

   sudo touch /etc/vsftpd/vsftpd.chroot_list

   sudo vi /etc/vsftpd/vsftpd.chroot_list

   里面添加

   admin

在按照以上的过程去安装,有可能Linux的数据源里面根本就找不到对应的安装包,可以通过手动安装的方法;网上找了篇db4的安装问题,分享一下:

1、下载安装文件:

  下载地址直达:http://cz.archive.ubuntu.com/ubuntu/pool/universe/d/db4.8/

2、dpkg - i  db4.8-util_4.8.30-11ubuntu1_amd64.deb

即可

命令使用:这里针对Vsftpd虚拟用户的创建

sudo db4.8_load -T -t hash -f /home/user.txt /etc/vsftpd_login.db

当然也有命令安装db的方法:

已解决了  sudo apt-get install  db-util

  在这又不得不来句粗口,尼玛,之前找了那么久的解决办法,原来是没有找对方法,网上一大堆也是无用的,有些方法更本用不了,回头想想当你的知识积累起来了之后,你就会忽然想起来这问题的解决方法,自己都会被自己惊呆,当年这么简单的问题居然都不会,当年真是傻呆笨啊!
总结:知识积累是多么地重要啊!

ftp安装和虚拟用户创建(终于搞清楚了)的更多相关文章

  1. ftp安装和虚拟用户创建

    安装 1.安装 sudo apt-get install vsftpd 2 查看安装结果 安装完毕,检查vsftpd进程是否已启动,可以查看进程或者查看监听端口 ps -eaf|grep vsftpd ...

  2. FTP原理和虚拟用户映射登录-2019.2.8

    FTP主动模式和被动模式 FTP(File Transfer Protocol)是文件传输协议的简称.正如其名所示:FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序 ...

  3. Ubuntu14 vsftp 的安装和虚拟用户配置

    一.介绍 FTP 是 File Transfer Protocol (文件传输协议)的缩写 ,在 Unix/Linux 系统中常用的免费 FTP 服务器软件主要是 VSFTP,vsftp的官方地址:h ...

  4. vsftpd虚拟用户创建实例(转载)

    vsftpd虚拟用户创建实例 发布:theboy   来源:net     [大 中 小] vsftpd虚拟用户创建实例,有需要的朋友可以参考下.  vsftpd虚拟用户创建实例,有需要的朋友可以参考 ...

  5. Centos下安装FTP并进行虚拟用户访问方式配置

    1. 安装认证所需包 [root@localhost]#yum install pam* [root@localhost]#yum install db4* 首先安装PAM(用于用户认证)和DB4(用 ...

  6. vsftpd安装及虚拟用户配置

    服务器环境:CentOS6.9 Linux 2.6.32-696.10.1.el6.x86_64 安装vsftpd.db4.db4-utils # yum -y install vsftpd db4 ...

  7. vsftpd服务安装与虚拟用户配置

    vsftpd的全名是“Very secure FTP Daemon” 一.安装vsftpd安装db4-util用于生成认证文件 yum -y install db4-utils 安装vsftpd yu ...

  8. vsftpd安装配置虚拟用户

    原文发表于cu:2016-03-11 参考文档: FTP原理:http://vbird.dic.ksu.edu.tw/linux_server/0410vsftpd_1.php FTP配置:http: ...

  9. CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户

    CentOS 6.8 ftp服务安装配置 基于本地用户和虚拟用户 一.安装ftp服务 1.检查是否已经安装 # rpm -qa | grep ftp ftp-0.17-54.el6.x86_64 vs ...

随机推荐

  1. Java 8 - Stream Collectors分组的例子

    1.分组依据,计数和排序 1.1按a分组List并显示它的总数. package com.mkyong.java8; import java.util.Arrays; import java.util ...

  2. 第三天·HTML常用标签

    一·<h1>-<h6> 单词缩写:headHTML的<h1>-<h6>代表了六个等级的标题,其中<h1>标签比较重要,因此要尽量少用.一般& ...

  3. Java常考面试题整理(三)

    明天又要去面试,Good luck to me.,让我在这段时间换个新的工作吧. 41.在Java中,对象什么时候可以被垃圾回收? 参考答案: 当对象对当前使用这个对象的应用程序变得不可触及的时候,这 ...

  4. C++入门经典-例6.11-使用指针变量遍历二维数组

    1:代码如下: // 6.11.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #inc ...

  5. SSM三大框架整合配置详解

    首先,导入框架所需要的全部jar包(此处省略...........) 第一步:先从mybatis框架开始 我们只需要在mybatis的核心配置文件sqlConfigXml里写上这么一段话,代表的是给p ...

  6. LeetCode 39. 组合总和(Combination Sum)

    题目描述 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限 ...

  7. linux 实现U盘自动挂载

    某些场景下,服务器可能没有必要的键盘等输入设备.屏幕等输出设备.此时需要在没有人为干预的情况下实现当插入U盘或者硬盘后自动挂载,并执行某些脚本动作.以下是我的实践过程. 必要组件 udev,udisk ...

  8. 如何将浏览器上的JS文件屏蔽

    在学习自定验证时,需要在页面上进行调试运行结果,这时的JS会影响运行结果的显示,所以我们会将JS代码屏蔽掉,那么我们该如何做呢? 第一步: 在浏览器地址栏输入about:config  点击“我保证会 ...

  9. leetcode 371两整数之和

    class Solution { public: int getSum(int a, int b) { long long carry=b; ){ carry=a&b; a=a^b; b=(c ...

  10. 【剑指offer37】二叉树的序列化

    序列化过程很简单,如果是采用先序序列,那么对先序遍历做出改变即可: 层序遍历建立二叉树,如: 1 2        3 4   #     5   6 输入第一行:将要输入的节点的个数N,如上面的为7 ...