:在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. SignalR的简单实现

    1创建mvc的空项目 2添加文件夹Counters放在里面的类用于封装性能计数器 3创建PerfCounterWrapper类用于封装性能计数器的实体 using System; using Syst ...

  2. mysql主从复制 主从配置(windows系统上)

    OS:Windows7 DB:MYSQL5.6.2 1.正常安装第一个mysql(安装步骤省略)  2.在控制面板里停止第一个mysql服务  3.将C:\Program Files\MySQL目录下 ...

  3. linux centos各种问题解决汇总

    1. Linux终端启动图形化程序界面时报错: No protocol specified问题: 这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图 ...

  4. mysql常用备注

    一:One Table  have only one Auto_Increment that column is must to be Primary key. (自增加的字段必须是主键且是数字类型) ...

  5. C#实现Dll(OCX)控件自动注册的两种方法

    尽管MS为我们提供了丰富的.net framework库,我们的程序C#开发带来了极大的便利,但是有时候,一些特定功能的控件库还是需要由第三方提供或是自己编写.当需要用到Dll引用的时候,我们通常会通 ...

  6. MyBatis 环境搭建

    1.为什么我们学习框架? 提高开发效率,框架是别人写好的工具类,我们需要遵循其规则进行操作 2.我们学习哪些框架 A.持久层框架:MyBatis 什么是持久化? 狭义:把数据永久性的保存到数据当中 广 ...

  7. solr中竞价排名实现

    转载:http://mxsfengg.iteye.com/blog/308335 通常,lucene只返回与用户查询相关的文档,搜索的结果,跟lucene对文档评分有关.而在现实的查询中,我们有些时候 ...

  8. solr--搜索参数随笔

    1.默认搜索域.查询域的关系 qf字段的配置:query fields,指定solr从哪些field中搜索 在solrj中设置如下: params.setParam("qf", & ...

  9. IOS UITableView Group&Section

    UItableView 根据数据结构不同 会有不同样式 关键在两个代理 tableviewdelegate&tabledatasourse 下面代码是我实施的Group 在模拟器中 ios6. ...

  10. IOS 开发中判断NSString是否为空字符

    //当 请求网络 或者获取其他返回数据 首先 要做一次判断 数据是否为空 防止程序崩溃 程序崩溃 好比拿刀扎在程序员的心啊- if(为空) { 做提示对话框等操作 } else { 正常执行 } - ...