输入命令

  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. Android中BroadCast与Activity之间的通信

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

  2. MAVEN Scope使用

    在Maven的依赖管理中,经常会用到依赖的scope设置.这里整理下各种scope的使用场景和说明,以及在使用中的实践心得.Scope的使用场景和说明1.compile编译范围,默认scope,在工程 ...

  3. 关于ubuntu中的软件安装

    在ubuntu中一般使用apt-get来安装软件工具, 例如 sudo apt-get install g++ apt-get会在镜像库中找到你需要的软件镜像(例如 g++)来安装,那么apt-get ...

  4. sql 字段字符串内容替换

    SELECT * FROM dbo.Table WHERE Name LIKE '%NYCL23%'UPDATE Table SET Name=replace(Name,'NYCL23','WYCL1 ...

  5. (原)ubuntu14.04中安装gcc4.9和g++4.9

    http://stackoverflow.com/questions/28683747/installing-gcc4-9-on-ubuntu-14-04-lts http://askubuntu.c ...

  6. SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码;

    情况一: ajax中传值时是乱码(后台可以获取到中文字符,但用@ResponseBody返回时前台为乱码) 情况二: Controller 中 request.getParameter()获取到的是乱 ...

  7. jQuery工作原理解析以及源代码示例

    jQuery的开篇声明里有一段非常重要的话:jQuery是为了改变javascript的编码方式而设计的.从这段话可以看出jQuery本身并不是UI组件库或其他的一般AJAX类库.jQuery改变ja ...

  8. 关于KMP算法理解(快速字符串匹配)

    参考:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html 2016-08- ...

  9. 十分钟让你的ASP.NET MVC网站变成PHP

    昨天从网上看来的,某个人发的方法: 第一:修改一下路由: 把RouteConfig中的: routes.MapRoute( name: "Default", url: " ...

  10. layout_gravity与gravity的区别

    1:android:gravity 这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置. 2:android:layout_gravity 这个是针对控件本身而言,用来控制该控件在包含该控 ...