文档章节

LinksysWrt1900acs刷官方镜像并开启FTP

a_xianyu
 a_xianyu
发布于 2017/06/03 15:41
字数 1270
阅读 35
收藏 0
点赞 0
评论 0

系统:https://downloads.openwrt.org/chaos_calmer/15.05.1/mvebu/generic/openwrt-15.05.1-mvebu-armada-385-linksys-shelby-squashfs-factory.img

需要的工具:WinSCP, putty(或其它ssh工具)

安装完系统后
1. ssh连接路由器后直接输入命令

最开始刷系统后会登陆192.168.1.1时会出现一个root用户名和其对应的密码,
就是用于ssh连接时的用户名和密码。如果更改过密码,则使用更改过的。
    opkg update
    opkg install kmod-usb-core
    opkg install kmod-usb2                #安装usb2.0 
    opkg install kmod-usb3                #安装usb3.0 
    opkg install kmod-usb-ohci            #安装usb ohci控制器驱动
    opkg install kmod-usb-storage         #安装usb存储设备驱动
    opkg install kmod-fs-vfat             #挂载FAT
    opkg install ntfs-3g                  #挂载NTFS
    opkg install mount-utils              #挂载卸载工具
    opkg install block-mount

    再更新驱动

opkg update
opkg install git-http
cd /tmp
git clone --depth 1 https://github.com/NemoAlex/mwlwifi-bin.git
cd mwlwifi-bin/15.05.1
opkg install kmod-mwlwifi_3.18.23\+10.3.0.17-20160531-1_mvebu.ipk
reboot

2. 用WinSCP连接路由器(还是上面的路由器和密码),文件协议选择SCP,
打开/etc/hotplug.d/block/10-mount文件(如果不存在请新建)
修改为如下内容

#!/bin/sh
 
# Copyright (C) 2009 OpenWrt.org  (C) 2010 OpenWrt.org.cn
 
blkdev=`dirname $DEVPATH`
if [ `basename $blkdev` != "block" ]; then
 
    device=`basename $DEVPATH`
    case "$ACTION" in
        add)
                mkdir -p /mnt/$device
                # vfat & ntfs-3g check
                if  [ `which fdisk` ]; then
                        isntfs=`fdisk -l | grep $device | grep NTFS`
                        isvfat=`fdisk -l | grep $device | grep FAT`
                        isfuse=`lsmod | grep fuse`
                        isntfs3g=`which ntfs-3g`
                else
                        isntfs=""
                        isvfat=""
                fi 
 
                # mount with ntfs-3g if possible, else with default mount
                if [ "$isntfs" -a "$isfuse" -a "$isntfs3g" ]; then
                        ntfs-3g -o nls=utf8 /dev/$device /mnt/$device
                elif [ "$isvfat" ]; then
                        mount -t vfat -o iocharset=utf8,rw,sync,umask=0000,dmask=0000,fmask=0000 /dev/$device /mnt/$device
                else
                        mount /dev/$device /mnt/$device
                fi
  if [ -f /dev/${device}/swapfile ]; then
   mkswap /dev/${device}/swapfile
   swapon /dev/${device}/swapfile
  fi
                ;;
        remove)
  if [ -f /dev/${device}/swapfile ]; then
   swapoff /dev/${device}/swapfile
  fi
                umount /dev/$device
                ;;
    esac
 
fi

保存后,重启路由器。(直接在System下选择Reboot, 或者再ssh连接下输入reboot都可以)

    稍加修改,就可以实现自动挂载。下面这段代码就可以自动挂载ntfs类型的u盘,挂载后的地址为/mnt/sda4.

#!/bin/sh
 
# Copyright (C) 2009 OpenWrt.org  (C) 2010 OpenWrt.org.cn
 
blkdev=`dirname $DEVPATH`
if [ `basename $blkdev` != "block" ]; then
 
    device=`basename $DEVPATH`
    case "$ACTION" in
        add)
                mkdir -p /mnt/sda4
                # vfat & ntfs-3g check
                if  [ `which fdisk` ]; then
                        isntfs=`fdisk -l | grep $device | grep NTFS`
                        isvfat=`fdisk -l | grep $device | grep FAT`
                        isfuse=`lsmod | grep fuse`
                        isntfs3g=`which ntfs-3g`
                else
                        isntfs=""
                        isvfat=""
                fi 
 
                # mount with ntfs-3g if possible, else with default mount
                if [ "$isntfs" -a "$isfuse" -a "$isntfs3g" ]; then
                        ntfs-3g -o nls=utf8 /dev/$device /mnt/sda4
                elif [ "$isvfat" ]; then
                        mount -t vfat -o iocharset=utf8,rw,sync,umask=0000,dmask=0000,fmask=0000 /dev/$device /mnt/sda4
                else
                        mount /dev/$device /mnt/sda4
                fi
  if [ -f /dev/${device}/swapfile ]; then
   mkswap /dev/${device}/swapfile
   swapon /dev/${device}/swapfile
  fi
                ;;
        remove)
  if [ -f /dev/${device}/swapfile ]; then
   swapoff /dev/${device}/swapfile
  fi
                umount /dev/$device
                ;;
    esac
 
fi

3. 重启后,再次登陆后点击Mount Points
    此时,应该出现一个网页,类似下图

              

4. 查看设备地址。

    插上U盘之后,此时U盘并不能挂载,如果挂载U盘,需要先找到设备地址,就是使用blkid命令。(如果中间显示某个包无法找到,可以使用opkg update, 之后再次尝试)

        opkg install fdisk

        opkg install e2fsprogs

        opkg install blkid

    之后直接输入blkid,就可以看到设备地址,如下图红框中的/dev/sda4,就是目前插入的U盘的设备地址。

              

5. 挂载U盘。

    如果插入的U盘的文件系统类型为ntfs, 则在ssh连接下使用

        ntfs-3g /dev/sda4 /mnt/sda4

进行挂载

    如果是fat32, 则在ssh连接下使用如下命令安装软件

opkg update
opkg install kmod-nls-base
opkg install kmod-nls-cp437
opkg install kmod-nls-iso8859-1

,再使用blkid查看设备地址,使用 

mount -t vfat /dev/sda4 /mnt/sda4

进行挂载。其它类型的文件系统,请自行查找挂载命令。

    此时刷新System->Mount Points页面,会发现下面多了一行,

              

则说明U盘挂载成功。可以使用WinSCP连接进入/mnt/sda4/目录查看U盘中的相关内容, 如下所示,图中中文文件名出现了乱码,并没有想到什么办法解决,求大神赐教。

            

目前只能实现U盘的手动挂载,网上的方法之前也试过,基本没有效果。如果有谁知道怎么自动挂载,求告知。

6. 安装ftp

    推荐使用vsftpd

    opkg update

    opkg install vsftpd

    修改/etc/vsftpd.conf为如下(推荐使用匿名用户),其中anon_root和local_root为设备的挂载地址。并且不能有空格,务必仔细检查。注意:下面的配置允许登陆的用户上传,下载和删除文件,如果有特定需要,请自行修改

chown_uploads=YES
chown_username=root
ftp_username=nobody
anonymous_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_root=/mnt/sda4
anon_max_rate=512000
local_enable=YES
write_enable=YES
local_umask=022
check_shell=NO
local_root=/mnt/sda4

    再就是启动ftp了,

    /etc/init.d/vsftpd restart

    之后就可以使用ftp客户端或其它方式进行访问了,用户名和密码还是路由器的用户名和密码,这时u盘中的中文文件名可以正常显示。

ps: 如果只是需在局域网中分享文件,推荐使用samba, 设置更为简单。

参考的文章:

1. http://jingyan.baidu.com/article/5225f26b6b273fe6fa090829.html

2. http://www.wifidog.pro/2015/08/13/openwrt-ftp.html

3. http://www.cnblogs.com/double-win/p/3848797.html

4. http://www.tuicool.com/articles/zeqiqev

如果需要允许特定的用户使用ftp: http://blog.csdn.net/luotong86/article/details/53039617

© 著作权归作者所有

共有 人打赏支持
a_xianyu
粉丝 0
博文 36
码字总数 18533
作品 0
哈尔滨
程序员
从Oracle Public Yum为Oracle Linux建立本地的Yum源

你可以在这里找到本文的原文。 本文是在Oracle Linux 6.5下,通过复制Oracle Public Yum源的方式建立一个完整的本地Yum源。由于只是出于测试和快速上手的目的,只进行了一次同步复制。在同步...

K-X
2015/10/21
45
0
TL-WR703Nv1.7刷写openwrt固件

TP-LINK TL-WR703N是一个小型的路由器,可以有线转WiFi,3G转WiFi,很多人拿它刷openwrt系统,然后可以在上面各种搞事。 V1.7以前 通常刷openwrt的做法是, 下载一个openwrt factory固件 打开...

梦里茶
2017/12/12
0
0
Linux Deepin 镜像服务已覆盖德国

德国埃尔兰根-纽伦堡大学,Tuxinator及GWDG为Linux Deepin提供了在德国的镜像服务。以下为各镜像的详情: 埃尔兰根-纽伦堡大学 软件包及各版本的安装镜像可从以下不同协议的链接获取: http...

cxbii
2014/03/12
398
4
Linux Deepin 今日新增四处镜像

今日,Linux Deepin今日新增四处镜像!分别为日本、瑞典和美国! Tsukuba WIDE Public Mirror service(日本) 目前该镜像站目前只支持Http和Rsync协议,其地址如下: http://ftp.tsukuba.w...

cxbii
2014/04/02
599
0
Linux Deepin 今日新增三处镜像

今日,Linux Deepin今日新增三处镜像!分别为美国、菲律宾和荷兰! Georgia Tech. Software Library(美国) 目前该镜像站目前支持Http和Ftp协议,其地址如下: http://www.gtlib.gatech.ed...

cxbii
2014/03/19
321
0
Linux Deepin新增斯洛伐克、意大利和南非三处镜像服务

Linux Deepin国际化进展令人振奋,今日Linux Deepin新增斯洛伐克、意大利、南非三处镜像服务! Rainside公司镜像站 目前Rainside公司(斯洛伐克)镜像站目前支持Http和Ftp协议,其地址如下:...

cxbii
2014/03/05
244
0
Linux Deepin新增凝聚网络安全工作室、上海交通大学镜像站镜像服务

今天,我们很高兴的告诉大家,Linux Deepin新增凝聚网络安全工作室和上海交通大学镜像站镜像服务! 随着Linux Deepin不断的努力,Linux Deepin已经得到了国内外用户的一致认可。非常感谢凝聚...

cxbii
2014/02/26
720
5
阿里云服务器ECS相关配置以及网站发布

首先在阿里云上购买自己的云服务器,相对于学生来说,这里有9.9一个月包3月30块钱的学生机,但是如果不想后期在单独配置Java运行环境的话,就得买一个镜像(一定要注意,镜像的区域要和云服务...

小和尚敲代码
2016/02/06
1K
0
Linux Deepin新增Ubuntu正體中文站 (臺灣) 鏡射支援

今日,Ubuntu正體中文站Linux Deepin鏡像源正式上線,至此Linux Deepin臺灣鏡像站增至4個,臺灣用戶從官方鏡像更新緩慢問題,已得到妥善緩解!非常感謝Ubuntu正體中文站管理員主動聯繫我們,...

cxbii
2014/01/20
2K
13
LinuxDeepin 浙大与厦大开源镜像站点镜像上线

Linux Deepin 近日新增浙江大学开源镜像站点、厦门大学开源软件镜像服务站点两处镜像服务。 1、Linux Deepin 浙江大学开源镜像站点镜像 浙大大学开源镜像站点,由浙江大学互联网教育实践协会...

火耳
2013/04/09
4K
19

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CoreText进阶(五)- 文字排版样式和效果

CoreText进阶(五)- 文字排版样式和效果 效果 以下是三个设置了不同属性的效果图 第一个设置了文字颜色为红色,字体为16号 第二个设置了文字颜色为灰色,字体为16号,对其为居中 第三个设置...

aron1992
25分钟前
1
0
10.23 linux任务计划cron~10.27 target介绍

crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是...

洗香香
35分钟前
0
0
告警系统主脚本、告警系统配置文件、告警系统监控项目

20.20 告警系统主脚本 告警系统主脚本 main.sh内容 #!/bin/bash#Written by aming.# 是否发送邮件的开关export send=1# 过滤ip地址export addr=`/sbin/ifconfig |grep -A1 "en...

lyy549745
39分钟前
0
0
Don’t Repeat Yourself

在软件工程中,Don’t Repeat Yourself(DRY)是软件开发的原则,旨在减少重复,用抽象代替它,使用数据规范化来避免冗余。 这个原则在维基百科上是说是由Andy Hunt和Dave Thomas《The Pragmat...

woshixin
40分钟前
0
0
搭建webpack项目框架

作者:汪娇娇 时间:2018年6月4日 一、说明 随着业务发展和前端人员的增加,搭建一个通用框架以及制定统一规范就成了必然。对于选型这方面,一开始好像就没考虑其他框架,直接选了webpack。w...

娇娇jojojo
48分钟前
0
0
Java基础——面向对象(内部类)

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 内部类: 1.有名内部类 2.无名内部类 内部类申请...

凯哥学堂
56分钟前
0
0
HttpClient内部三个超时时间的区别

RequestConfig requestConfig = RequestConfig.custom() .setConnectionRequestTimeout(config.connReqTimeout) //从连接池中获取连接的超时时间 ......

1713716445
今天
0
0
每天一个命令SCP

每天一个命令:SCP scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速...

河图再现
今天
0
0
cron/chkconfig/systemd/unit/target

linux任务计划 : cron工具 任务计划在运维工作中用到的比较多,大部分系统管理工作都是通过定期自动执行某个脚本来完成。 查看linux中任务计划的配置文件: /etc/crontab [root@yolks-001 ~]...

Hi_Yolks
今天
1
0
ftp攻略

Vsftpd完全攻略(一)ftp原理与vsftp安装:https://www.iyunv.com/thread-44698-1-1.html Vsftpd完全攻略(二)设置匿名用户也支持下载和上传与创建目录:https://www.iyunv.com/forum.php?mo...

寰宇01
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部