输入命令

  1. df -h

复制代码

查看自己的分区路径,我自己用了一个闲置笔记本电脑硬盘转USB,插到mini,有四个区
为了方便,我选择把ftp安装在第一个分区  /extdisks/sda1/

创建ftp的安装目录,输入:

  1. mkdir -m 0777 -p   /extdisks/sda1/ftp

复制代码

(嫌麻烦的童鞋可以用winscp工具按照路径制作)

然后备份一下/etc/opkg.conf,输入:

  1. cp /etc/opkg.conf   /etc/opkg.conf-backup

复制代码

编辑/etc/opkg.conf,输入:

  1. vi /etc/opkg.conf

复制代码

点一下 i 编辑,把里面的内容删除干净,然后粘贴以下内容,路径里面的x请修改成你自己的ftp目录文件名:
src/gz barrier_breaker_base http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base
src/gz barrier_breaker_luci http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/luci
src/gz barrier_breaker_packages http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/packages
src/gz barrier_breaker_routing http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/routing
src/gz barrier_breaker_telephony http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/telephony
src/gz barrier_breaker_management http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/management
src/gz barrier_breaker_oldpackages http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/oldpackages
dest root /extdisks/sda1/x
dest ram /tmp
lists_dir ext /extdisks/sda1/x/opkg-lists
option overlay_root /extdisks/sda1/x
dest usb /extdisks/sda1/x

保存请按一下 ESC键,然后按一下 : 键(shift+;),然后输入 wq 回车。

验证是否成功,输入:

  1. opkg update

复制代码

成功结果会显示以下内容:
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_base.
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/luci/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_luci.
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/packages/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_packages.
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/routing/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_routing.
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/telephony/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_telephony.
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/management/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_management.
Downloading http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/oldpackages/Packages.gz.
Updated list of available packages in /extdisks/sda1/x/opkg-lists/barrier_breaker_oldpackages.

开始安装ftp,按顺序分别输入下面这几个命令:

  1. cd /extdisks/sda1/x/

复制代码

  1. wget http://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base/libc_0.9.33.2-1_ramips_24kec.ipk

复制代码

  1. opkg -d usb install libc_0.9.33.2-1_ramips_24kec.ipk

复制代码

  1. opkg -d usb install vsftpd

复制代码

到这里ftp基本安装完毕,但是还需要设置一下

输入: vi /extdisks/sda1/x/etc/init.d/vsftpd
删除旧的内容,加入下面的内容

  1. #!/bin/sh /etc/rc.common
  2. # Copyright (C) 2006-2011 OpenWrt.org
  3. START=50
  4. start() {
  5. mkdir -m 0755 -p /var/run/vsftpd
  6. service_start /extdisks/sda1/x/usr/sbin/vsftpd
  7. }
  8. stop() {
  9. service_stop /extdisks/sda1/x/usr/sbin/vsftpd
  10. }

复制代码

保存退出

然后输入:

  1. vi /etc/vsftpd.conf

复制代码

复制以下内容到里面,提供两个版本供大家选其一,简单版严格版

简单版,易用,即设即用,不过安全性较低。
background=YES
listen=YES
listen_port=21
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
idle_session_timeout=300
max_clients=5
max_per_ip=5
local_enable=YES
write_enable=YES
local_umask=022
check_shell=NO
anon_root=/extdisks/sda1/
local_root=/extdisks/sda1/
ftp_username=nobody
#dirmessage_enable=YES
#ftpd_banner=Welcome to blah FTP service.
session_support=NO
#syslog_enable=YES
#userlist_enable=YES
#userlist_deny=NO
#userlist_file=/extdisks/sda1/x/etc/vsftpd.users
#xferlog_enable=YES
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
chown_uploads=YES
chown_username=root

安全严格版,不懂请百度以下参数,配合/etc/passwd 设置用户权限,安全系数增大。
background=YES
listen_port=21
anonymous_enable=NO    #匿名用户登录,默认不开启
anon_upload_enable=YES
anon_mkdir_write_enable=YES
idle_session_timeout=300
max_clients=5
max_per_ip=5
local_enable=YES   #本地用户登录开启,也就可以用root等用户登录
write_enable=YES
file_open_mode=0777
local_umask=022
check_shell=NO
anon_root=/extdisks/sdax/x/     #匿名用户访问的目录
local_root=/extdisks/sdax/x/     #本地用户访问的目录
chown_uploads=YES
chown_username=ftp
ftp_username=ftp
#dirmessage_enable=YES
#ftpd_banner=Welcome to blah FTP service.
session_support=NO
#syslog_enable=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list1    #自己按需要创建文件,加入用户root,这样root才能登录,一行一个用户
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/user_list2     #自己按需要创建文件,加入用户root,这样root才能登录,一行一个用户
#xferlog_enable=YES
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
allow_writeable_chroot=YES

保存按ESC ,然后按 : 一下,输入wq 保存。

开启ftp,输入:

  1. /extdisks/sda1/x/etc/init.d/vsftpd start

复制代码

没有显示的话,一般情况下都成功。

验证ftp是否成功,在资源管理器输入:
ftp://路由器IP
因为安全策略的关系,会弹出你没有权限的窗口,不用担心,在画面右击登录,用root登录即可。

==============================================================
以下是自启动,和开启外网FTP端口
==============================================================

自启动的方法,其实很简单,编辑usb_deploy_init_script.sh
命令如下:
  1. vi /etc/init.d/usb_deploy_init_script.sh

复制代码

找到以下两行
rm -rf /tmp/xiaomi_router
mkdir -p /tmp/xiaomi_router
在下面加入一行命令

  1. /extdisks/sda1/x/etc/init.d/vsftpd start

复制代码

开启外网端口,修改防火墙

  1. vi /etc/config/firewall

复制代码

在最后面隔空一行加入以下代码

config rule
         option name 'ftp'
         option src 'wan'
         option prot 'tcp'
         option dest_port '21'
         option target 'ACCEPT'
         option family'ipv4'

保存退出。

重启防火墙生效,输入:

  1. /etc/init.d/firewall restart

复制代码

=================================================================
=================================================================
安全设置(需要设置安全权限的朋友可以看看)
题外话:Ftp可以配合ddns的,这个完全没问题,你如果有自己的独立域名,还可以CNAME绑定花生壳的域名,那就等于绑定自己的个人域名。
安全设置方法:
/etc/passwd 这个是设置用户名的,用winscp编辑它,例如增加ftp用户,默认已经有一条ftp的记录
默认格式是 ftp:*:55:55:ftp:/home/ftp:/bin/false

面的ftp是指ftp用户名,也代表ftp的登录名,后面的ftp名称不用理。前面的55和后面的55是默认的,代表优先权限,可以不用理。*号不用理。
/home/ftp 是ftp默认登录后可见的目录,最好自己修改成跟ftp登录路径一致。 /bin/false
代表不让这个ftp用户使用ssh登录,默认即可。
例如我自己使用的格式是:
ftp:*:55:55:ftp:/extdisks/sda1/ftp:/bin/false
通常修改完这一条之后,用户组 /etc/group 默认已经有一条  ftp:x:55: 的用户组记录,所以可以直接跳到下一步。
然后在命令行模式下修改ftp用户的密码(建议使用putty英文版登录修改,不要用winscp,winscp会把密码丢失的)
putty登录root后,输入:
passwd ftp
输入两次相同的密码就可以了。

小米路由器mini建FTP的更多相关文章

  1. 交叉编译 小米路由器mini 的 python(MIPS)

    看了很多文章,要么说的是用opkg安装python,要么说的是小米路由器的交叉编译,就是没有mini的.学习了这篇文章(http://me.deepgully.com/post/56389167868 ...

  2. 小米路由器mini搭建个人静态网站的方法

    小米路由和小米路由mini从本质上来说差距就在1T的硬盘上,其它并没有明显差别,但是功能却差很多,例如:小米路由有自带的LAMP模式,而小米路由mini则没有,换句话说,其实这个功能是被阉割了,仔细研 ...

  3. 中大东校小米路由器mini实现inode上网,ipv6 wifi【中大】【东校】【inode】【ipv6】

    还有不到4个月就要毕业了,前几天半夜没事捣鼓小米路由没想到竟然实现了wifi的ipv6. 正好又安利了同学一台小米路由mini,从刷机到inode到ipv6全搞了一遍. 这里将教程写出来,服务学弟妹. ...

  4. 小米路由器mini如何设置外网访问wan网站的方法

    很多的玩友都在小米路由器mini上面搭建了自己的网站,有些朋友还需要设置对外网进行开放,我自己也在路由器上面实践了使用,下面与大家分享一下如何设置外网访问路由器网站的办法. 工具/原料 小米路由器mi ...

  5. 小米路由器刷Xiaomi Mi WiFi Mini openwrt

    Current Stable Release - OpenWrt 18.06.1,released on August, 18th 2018. there is also PandoraBox fir ...

  6. 小米路由器3G R3G 刷入Breed和OpenWrt 20.02.2 的记录

    小米 R3G 参数 Architecture: MIPS Vendor: Mediatek Bootloader: U-Boot System-On-Chip: MT7621 family CPU/S ...

  7. 小米路由Mini刷Breed, 潘多拉和LEDE

    1. 下载breed,地址 http://breed.hackpascal.net/ 2. 下载小米Mini的开发板rom, 地址 http://www1.miwifi.com/miwifi_down ...

  8. 关于使用TP-Link桥接小米路由器

    家里因为有个小卧室,小卧室的写字台上面放了一台台式电脑,而我又不想用台式电脑牵一条长线到客厅的网口或者路由器上面,因为太麻烦,所以我使用了TPLink的无线USB插在了我的主机USB上,略去TPLIN ...

  9. 小米路由器Mesh,信号有多牛?

    导读 现如今随着居住面积的增加,以前可能住在一室一厅,如今二室一厅.三室一厅都有相对应的户型,有的小伙伴甚至住上了越层,这些户型对于路由器来说非常吃力的,毕竟单台路由器的覆盖范围有限.可能大多数人会在 ...

随机推荐

  1. __device__ __global__ __host__

    __device__ 标记的函数从一个在器件中执行的函数呼叫,在器件中执行 __global__ 表示该函数从一个在主机中执行的函数呼叫,在器件中执行 __host__表示在主机中呼叫,在主机中执行的 ...

  2. HBase总结(十二)Java API 与HBase交互实例

    HBase提供了Java Api的訪问接口,掌握这个就跟Java应用使用RDBMS时须要JDBC一样重要 import java.io.IOException; import org.apache.h ...

  3. Android中BroadCast与Activity之间的通信

    在看本文之前,假设你对于Android的广播机制不是非常了解.建议先行阅读我转载的一篇博文:图解 Android 广播机制. 因为本案例比較简单,故直接在此贴出代码,不做过多的阐述. 先上效果截图: ...

  4. NYOJ 16 矩形嵌套(动态规划)

    矩形嵌套 时间限制: 3000 ms  |  内存限制: 65535 KB 难度: 4   描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅 ...

  5. Combo( 自定义下拉框) 组件

    本节课重点了解 EasyUI 中 Combo(自定义下拉框)组件的使用方法,这个组件依赖于ValidateBox(验证框)组件 一. 加载方式自定义下拉框不能通过标签的方式进行创建.<input ...

  6. sqlserver中的锁与事务

    以下内容整理自: SQL Server中的锁 SQLSERVER中的元数据锁 SQLSERVER中的锁资源类型 浅谈sqlserver中的事务和锁 锁的分类 1.从数据库角度 独占锁(排它锁 X) 独 ...

  7. StringEscapeUtils的使用

    使用commons-lang.jar import org.apache.commons.lang.StringEscapeUtils; public class T { public static ...

  8. C#学习笔记之结构体

    1.概述 结构是一种与类相似的数据类型,不过它较类更为轻量,一般适用于表示类似Point.Rectangle.Color的对象.基本上结构能办到的类全都能办到,但在某些情况下使用结构更为合适,后面会有 ...

  9. Centos6.5使用yum安装Mysql5.7

    想要玩新的东东就要付出代价,我的时间悄悄的都溜走了,说多了都是泪! 实践才是真理! 系统版本:Linux localhost.localdomain 2.6.32-431.el6.x86_64 #1 ...

  10. 转自:Tsihang 三层网络设备对于IP报文的分片和重组处理原理

    三层网络设备对于IP报文的分片和重组处理原理 对于网络分片,我一年前就想整理出来,虽然说网络上的资料很多,但是真正掌握精髓的除非真正做过分片程序,不然很难将协议栈整体联系起来理解.这篇文章,包括设计分 ...