:在Azure安装好ubuntu虚拟机,安装包选择ubuntu14.04 LTS,选择LTS,以便微软对其以后的更好支持,不选就可能技术支持不会很久,现只开一台,端口默认选择22

:打开虚拟机,进入端点设置,已经启用端口22

:在本地windows中用Xshell连接虚拟机,用ssh2方式,主机地址在虚拟机的仪表盘下面ssh详细信息看到,端口选22

:连接成功了先安装vsftpd : sudo apt-get install vsftpd

: 然后配置:sudo vim /etc/vsftpd.conf

:为了安全考虑以及各个方面的原因:禁止了匿名,禁止了主动模式,没有配置本地用户登录,用了虚拟用户登录

:关于主动模式和被动模式,有必要了解,这里我用的是被动模式

这里我参考了:http://blog.csdn.net/gavin_dinggengjia/article/details/7538118 (配置虚拟用户)

        http://www.cnblogs.com/acpp/archive/2010/02/08/1665876.html  (配置虚拟用户)

     这两个互取长处.

     1、其中,需要先安装db_load,可以目前较新的db6.0_util,然后把db4.6_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db中的db4.6换成6.0就好了

      2、还有个坑是PAM授权文件

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

     我的按照这样设置就登不上,然后网上搜索了一下,去掉了/lib/security/这一截,改成了

      auth  required pam_userdb.so db=/etc/vsftpd/vsftpd_login
      account  required pam_userdb.so db=/etc/vsftpd/vsftpd_login

      我在他们之间用的Tab对齐

    3、对于设置的 /home/ftp文件夹,很有必要说明一下权限问题,去掉他的w(写)权限

      chmod a-w /home/user

      但是要有一定的权限,所以可以先加个777或700之后再去掉w权限

      参考URL:http://eamin.net/vsftpd-500-oops/

    4、在/home/ftp下再建立一个新文件夹,我给它777权限,这个文件夹可以用来上传下载都可以了,其他的都可以照样子配置了

:有必要了解ubuntu权限相关的部分,比如777、700、600等

:然后是主动模式和被动模式的选择

  我用被动模式,原因:因为它是对主动模式的补充

    当你不知道下载软件选择什么版本的时候,不要犹豫,果断用最新的,作为开发人员,与时俱进,你不支持别人的最新版本,如何让你的客户接受你发布的新版

  在conf配置文件中加入

    pasv_enable=YES

    pasv_max_port=30019

    pasv_min_port=30000

    (注意:上面Max是最大端口号,min是最小的,取值为中间这个范围)

  然后在Azure的虚拟机打开端点,添加这20个端口,选择的是tcp方式

  还有一点是内外网的原因:相当于2边都用了路由器,所以还要配置一个:

    pasv_address=xx.xxx.xx.x (这个很多时候很有必要,网上好多都没有提及,大坑)

    当然,如果是本地连接就不需要这些了

:这其中,我还遇到了一些nat的问题,不过都是自己乱来的,完全用不着往那方面想

:我用FileZilla进行的ftp传文件等操作,FileZilla打开编辑->设置->FTP->传输模式选择被动。把失败后允许退回到其他传输模式前面的勾去掉,这样做是因为我只需要被动方式连接,不用主动模式。

:可能设涉及到的一些防火墙知识:百度google很多的,我就记这几个

    

    #ufw enable

    #ufw status

    #ufw allow 22

:现在应该就可以上传下载文件了吧,主要收集了一大堆对这个有用的网址,感谢这些网址的大神些了

URL:http://blog.sina.com.cn/s/blog_76fbd24d010134p9.html

http://www.cnblogs.com/acpp/archive/2010/02/08/1665876.html

http://blog.csdn.net/gavin_dinggengjia/article/details/7538118 (虚拟用户)

http://eamin.net/vsftpd-500-oops/

http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html (netstat命令)

      http://www.seowhy.com/bbs/thread-13199384-1-1.html

   http://zhumeng8337797.blog.163.com/blog/static/100768914201041411362557/

    http://www.tuicool.com/articles/IfMBry

    http://www.3lian.com/edu/2013/05-18/70558.html

外文的:http://serverfault.com/questions/421161/how-to-configure-vsftpd-to-work-with-passive-mode

    http://www.krizna.com/ubuntu/setup-ftp-server-on-ubuntu-14-04-vsftpd/

Azure + vsftpd + ubntu14 + 虚拟用户 遇到的问题:从网上摘抄的更多相关文章

  1. vsftpd服务器配置虚拟用户

    添加宿主用户 新建系统用户vsftpd,用户目录为/home/wwwroot, 用户登录终端设为/bin/false(即使之不能登录系统) useradd vsftpd -d /home/wwwroo ...

  2. vsftpd 创建虚拟用户

    1.添加一个宿主用户:useradd vsftpd -s /sbin/nologin2.安装db4-utils,通过本底数据文件实现虚拟用户访问yum install db4-utils3.创建ftp ...

  3. vsftpd配置虚拟用户

    #安装vsftpd yum -y install vsftpd #创建本地ftp账户 groupadd ftpuser useradd -g ftpuser -s /sbin/nologin ftpu ...

  4. vsftpd 新增虚拟用户

    接手公司linux服务器,已经用了vsftpd服务,需要增加新用户. vsftpd的配置文件在/etc/vsftpd.其中 编辑virtusers, 添加一个用户名和密码,奇行为用户名,偶行为密码 在 ...

  5. vsftpd配置虚拟用户为登录用户02

    1.安装vsftpd 安装依赖包: yum -y install pam pam-devel db4 de4-devel db4-uitls db4-tcl 新建vsftpd系统用户: #建立Vsft ...

  6. vsftpd文件虚拟用户搭建

    关于vsftpd的原理这里就不多说了,下面红色部分有单独标出,突出显示,意思是这里的东西有额外的配置,全文的配置一定要跟着第二步的配置来,不要过程中随便改变参数,除非你看得懂,好了直接上配置过程 1. ...

  7. vsftpd设置虚拟用户

    centos6.5环境 软件安装: yum install vsftpd db4-utils 1. 添加虚拟用户口令文件 #添加一个虚拟用户testvim /etc/vsftpd/vftp_vuser ...

  8. 34.vsftpd服务程序--虚拟用户模式

    1.创建用于进行FTP 认证的用户数据库文件,其中奇数行为账户名,偶数行为密码. [root@localhost ~]# cd /etc/vsftpd/ [root@localhost vsftpd] ...

  9. 烂泥:ubuntu下vsftpd虚拟用户配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我微信ilanniweb. 以前搭建vsftpd都是在centos下,本以为在ubuntu按照以前的步骤搭建即可.可 ...

随机推荐

  1. 索引节点inode

    在Linux的文件系统中,索引节点是文件的标识,并且这个值是唯一的,两个不同的文件的索引节点值是不同的,索引节点相同的文件它们的内容是相同的,仅仅文件名不同.修改两个索引节点值相同的文件中的一个文件, ...

  2. Python Counter()计数工具

    Table of Contents 1. class collections.Counter([iterable-or-mapping]) 1.1. 例子 1.2. 使用实例 2. To Be Con ...

  3. Centos7升级gcc学习笔记

    概述 最近在学习<深入应用C++11-代码与优化与工程级应用>,我的gcc版本是gcc-4.8.5是支持C++11的,但是我在作者的github上看了一些C++例子,其中有些是C++14的 ...

  4. 共享锁(S锁)和排它锁(X锁)

    1 什么叫数据库共享锁[S]锁和[X]锁 共享锁[S锁]    又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁.这保 ...

  5. 结合源码看nginx-1.4.0之nginx多进程机制详解

    目录 0. 摘要 1. nginx多进程设计思想 2. nginx多进程设计数据结构 3. nginx进程间通信机制 4. 一个简单的多进程例子 5. 小结 6. 参考源码

  6. iOS - UI - UISwitch

    UISwitch //开关    不用设置宽高  有默认宽高 UISwitch * sw = [[UISwitch alloc] initWithFrame:CGRectMake(100, 100,  ...

  7. 基于Jquery Validate 的表单验证

    基于Jquery Validate 的表单验证 jquery.validate.js是jquery下的一个验证插件,运用此插件我们可以很便捷的对表单元素进行格式验证. 在讲述基于Jquery Vali ...

  8. shell配置环境变量

    我们在使用Xshell开发机时往往会遇到一些问题,比如使用某些命令他会报command not found,,出现这种情况的原因是我们必须要配置一下环境变量,这样就可以在任何path中访问了. 这就需 ...

  9. Kinect For Windows V2开发日志九:侦测并绘制人体骨架

    简介 在上一篇<侦测.追踪人体骨架>里,介绍了关节点的使用办法,这一篇记录将关节点与OpenCV结合的绘图方法. 代码 #include <iostream> #include ...

  10. OGG

    Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步. ...