安装

  1.安装

  sudo apt-get install vsftpd

  2 查看安装结果

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

  ps  -eaf|grep  vsftpd
  tony@T:~$ ps -eaf | grep vsftpd
  root 2244 1 0 21:08 ? 00:00:00 /usr/sbin/vsftpd
  tony 2408 2104 0 21:11 pts/0 00:00:00 grep --color=auto vsftpd   netstat -tnl | grep :21   tony@T:~$ netstat -tnl | grep :21
  tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN   端口21正在被监听

  3. 尝试匿名用户登录

  安装完后不用做任何配置既可用匿名方式进行访问,默认的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。
  220 (vsFTPd 2.2.2)
  用户(192.168.1.108:(none)): ftp
  331 Please specify the password.
  密码:
  230 Login successful.

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

  4. 使用ubuntu的账户登录

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

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

  C:\Users\Tony>ftp 192.168.1.108
  连接到 192.168.1.108。
  220 (vsFTPd 2.2.2)
  用户(192.168.1.108:(none)): tony
  331 Please specify the password.
  密码:
  230 Login successful.

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

  /etc/vsftpd.conf    	vsftpd服务器的配置文件
  /usr/sbin/vsftpd vsftpd服务器的进程文件
  /etc/pam.d/vsftpd vsftpd服务器的PAM接口配置文件
  /var/ftp vsftpd服务器匿名用户的工作目录

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

  sudo /etc/init.d/vsftpd  start   #开始
  sudo /etc/init.d/vsftpd stop #关闭
  sudo /etc/init.d/vsftpd restart #重启

创建虚拟账户

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

  sudo apt-get install db4.8-util

  2. 更改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=022 //设置本地用户上传建立文件时的权限掩码
  #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=600
  data_connection_timeout=120 //#数据连接的超时时间
  #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=10
  max_per_ip=5
  local_max_rate=256000
  #hide_ids=YES
  idle_session_timeout=3000
  guest_enable=YES
  guest_username=ftp
  user_config_dir=/etc/vsftpd/vsftpd_user_conf
  pam_service_name=vsftpd.vu

  3. 建立各账户的home目录

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

    cd /home/ftp/
  sudo mkdir ftpdir

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

  cd  ftpdir
  sudo mkdir admin tony

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

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

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

  5. 创建虚拟用户数据库

  新建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 600 /etc/vsftpd/vsftpd_login.db

  6. 配置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

  7.新建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

  8. 配置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

  9. 配置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

  10. 新建/etc/vsftpd/vsftpd.chroot_list

  sudo touch /etc/vsftpd/vsftpd.chroot_list
  sudo vi /etc/vsftpd/vsftpd.chroot_list
  里面添加
  admin

Author

Tony Liu

2016-8-2, Shenzhen

ftp安装和虚拟用户创建的更多相关文章

  1. ftp安装和虚拟用户创建(终于搞清楚了)

    安装 一.安装 sudo apt-get install vsftpd 二.查看安装结果 安装完毕,检查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. Servlet 过滤器 Filter

    过滤器是一个实现了 javax.servlet.Filter 接口的 Java 类.javax.servlet.Filter 接口定义了三个方法: 下面是对所有编码过滤器 package filter ...

  2. llinux环境变量查看和修改

    查看全局环境变量:env 查看所有环境变量:set 删除一个变量:unset [变量名] #只针对当前会话 设置一个变量:name=songjiankang export name #将这个变量提升为 ...

  3. Tomcat 关闭时报错

    最近tomcat走普通的关闭方式无法正常关闭,会报一些Error,用的是Tomcat7,据说是Tomcat7在关闭的时候加了一些检查线程泄漏内存泄露的东西 总结起来,在我项目中有这么几个原因会导致关闭 ...

  4. hdu 4494 Teamwork (可行流的最小流)

    去年通话邀请赛的B题,当时居然过的那么少...明明是一道非常裸的可行流最小流麽..仅仅要对每种人分别求一下可行最小流加起来就能够了.建图是对每一个点拆点,容量上下届都设为v[i],然后每一个点间能连边 ...

  5. JAVA中的抽象类与接口

    抽象类 abstract class 包含抽象方法的类,叫抽象类.而抽象的概念就是抽象出共同属性:成员变量和方法.所以抽象类可以有private等多种权限的成员变量和非abstract的成员方法.当然 ...

  6. ref与out区别(ref有进有出,而out只出不进)

    ref与out区别(ref有进有出,而out只出不进)   C#基础:ref和out的区别 ref和out的区别在C# 中,既可以通过值也可以通过引用传递参数.通过引用传递参数允许函数成员更改参数的值 ...

  7. chome 离线安装包地址

    https://www.chromedownloads.net/chrome32win-stable/  --32bit https://www.chromedownloads.net/chrome6 ...

  8. struts2 s:set标签

    set标签是将某个值放到指定范围内, 比如说 student.teacher.parent.age 每次访问这个属性不仅性能低,而且代码可读性很差,为了解决这个问题,可以将这个值设置为一个新值,并且放 ...

  9. Mysql 字符串函数 详解

    字符串函数是最常用的一种函数了,如果大家编写过程序的话,不妨回过头去看看自己使用过的函数,可能会惊讶地发现字符串处理的相关函数占已使用过的函数很大一部分.MySQL中字符串函数也是最丰富的一类函数,表 ...

  10. django Multi-table inheritance ---- 用于实现基表-子表

    SQL中的父子表.在django中可以直接通过模式的继承来完成! 一.django中的model定义如下: 1.django定义 from django.db import models # Crea ...