环境 {#result}

移动光猫(吉比特GS3101)

其它同CPU构架的路由器也可参照本教程(如内蒙广电猫),但需要有USB接口(没空间玩个毛.jpg)、支持Telnet或SSH连接。

移动硬盘(大容量U盘也可)

前言

家里最近换了移动宽带,网速、延迟等倒是没有网上风评那么差,我还是比较满意的。

起初并不是很想折腾这个光猫,主要是家里有很多闲置的路由器,想和光猫远程桥接起来。动手折腾时发现光猫有个USB口,网上说是调试专用的,普通用户用不了,就想折腾着利用起来,于是有了这系列文章。

过程

根据这篇文章:移动光猫吉比特GS3101超级账号获取更改桥接

安装Telnet并且远程登陆。

注意这里有个坑,如果你的光猫已经与"和家亲"这个移动端APP绑定的话,是没法远程登陆的,需要先解除绑定。

登陆上之后,看着熟悉的#,这玩意肯定是类Unix系统,而且这种嵌入式系统大概率是魔改的Linux。

首先看CPU架构,cat /proc/cpuinfo,嗯,是大端mips16的构架,很多路由器的CPU都是这构架,其它常见的还有mipsel、ARM。

然后看内置了啥命令,export一下,然后挨个翻PATH变量的目录。

你还别说,发现了不少玩意:

smbd Samba文件打印机共享服务器,似乎被魔改或版本过旧导致无法匿名登陆。

bftpd 一个比较精简的FTP服务器,似乎被魔改导致无法匿名登陆。

tftpd TFTP文件传输服务的服务端,被魔改导致接收到文件时会自动重启,且发送接收文件路径固定不可修改。

boa 一个精简的Web服务器,似乎被魔改。

axel 多线程HTTP/HTTPS下载器。

busybox 远古阉割版。

其它路由器用的乱七八糟的二进制文件。

之后在usrlocal发现了jre(java运行环境)。

由于mips16构架的二进制文件网上比较稀缺,所以可能有同学需要,我把提取出的二进制文件打包放在了:CSDN下载。如果觉得CSDN下载不方便,就请评论区告诉我,我再放其它网盘一份。

不过发现没有bash、而且busybox命令严重不全,这就很蛋疼了。

去Busybox官网翻了一下,很贴心,提供了mips16架构CPU的二进制文件busybox-mips,搞一个下来。

链接:busybox 1.31.0 binaries

插上U盘,按照惯例会被挂载到/mnt目录下,果然多了一个文件夹usb1_1,打开并chmod 777 ./busybox-mips,就可以用完整版的Busybox了。

注意,如果你的U盘/移动硬盘没有识别并自动挂载,建议检查文件系统,我的U盘文件系统是FAT32,块大小为4KB,实测是可以识别的。

这回能用df命令了,执行./busybox-mips df -m,可以看到有两块空间是可用的,分别是U盘/mnt/usb1_1和约84MB的/usr/osgi,猜想是光猫的内置闪存,去看了一下,闪存内有一大堆不明所以的文件,先不管。

OK既然内置了Samba服务器,那肯定要利用起来。不过这光猫的是个魔改版,折腾了足足两晚上才跑起来,坑爹啊!

简单说一下有啥坑:

share共享方式(匿名访问)死活用不成,必须要user共享方式。

user共享方式默认需要nobody用户,但是adduser nobody会提示adduser: group name nobody already in use,但是我执行cat /etc/passwd,里面明明没有nobody用户啊!?这个问题最后通过换成光猫root用户CMCCAdmin解决了。

Samba老版本的一个BUG,普通用户会错误,必须要root用户。

下面说一下如何配置,首先依次执行:

mkdir /mnt/usb1_1/sambamkdir /mnt/usb1_1/samba/logs

./busybox-mips vi /mnt/usb1_1/samba/smb.conf#然后把下文中的配置文件修改并写进去。

下面是一个光猫能用的配置:smb.conf。(OldLiu请自行改为你想要的用户名)

[global]

netbios name = server

workgroup = workgroup

max connections = 0

deadtime = 0

log file = /mnt/usb1_1/samba/logs/%m.log

max log size = 50

guest ok = no

guest account = CMCCAdmin

#guest account = nobody

encrypt passwords = yes

security = user

load printers = no

[External USB Disk]

path = /mnt/usb1_1

browseable = yes

writable = yes

available = yes

admin users = OldLiu

valid users = OldLiu

write list = OldLiu

[Internal Flash Disk]

path = /usr/osgi

browseable = yes

writable = yes

available = yes

admin users = OldLiu

valid users = OldLiu

write list = OldLiu

接下来编写这个脚本(OldLiu改成你刚才设的用户名,并放置在/mnt/usb1_1/samba/下),运行并输入两次密码,就可以启动Samba文件共享服务器了。

#!/bin/shcd "$(dirname "$0")"#read -p "Enter username:" namename='OldLiu'echo "Your user name is $name."echo "$name::0:0:root:/:/bin/sh" >> /etc/passwd#echo "nobody::500:500:Linux USER:/:/bin/sh" >> /etc/passwdsmbpasswd -c smb.conf -a $namesmbd -D -s ./smb.conf#smbd -F -S -s ./smb.conf &

之后在Windows上通过Windows + R打开运行,输入\192.168.1.1回车,再填好刚才设置的用户名和密码,就大功告成了。还可在此电脑上右键->映射网络驱动器,让其作为两块网络硬盘固定显示在文件资源管理器里面。

Android可以用ES文件浏览器连接,这里不再赘述。

如果光猫重启,则直接执行脚本并输入密码,就可以启动服务器了。

注意,如果之后在光猫内改了共享密码,则Windows需要删除凭证并重启,否则会死活连不上共享的。

进入会有两个子目录,相信我设置的目录名已经说明它们代表什么了,这里不再赘述。

想要关闭服务器,可以killall smbd,想再打开,可以smbd -D -s /mnt/usb1_1/samba/smb.conf。

多台设备公用的文件,比如音乐,电影等,可以放置在U盘/移动硬盘上,开启服务器后多个设备随时都能访问,挺方便的。

©著作权归作者所有:来自51CTO博客作者老刘001的原创作品,如需转载,请注明出处,否则将追究法律责任

SDB光猫虚拟服务器,折腾光猫/路由器[MIPS架构](1):用Samba服务器搭建家庭文件共享中心...相关推荐

  1. 使用Samba服务器构建私有和公共共享目录

      使用Samba服务器构建私有和公共共享目录   实验背景:       小诺公司使用RHEL4系统构建了Linux服务器,并在该服务器上默认安装了Samba服务器及相关软件包作为该公司的文件服务器 ...

  2. 在Linux下轻松玩转Samba服务器

    一.samba概念和功能 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Mi ...

  3. CentOS 6.3下Samba服务器的安装与配置(转)

    一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的 ...

  4. CentOS6 下Samba服务器的安装与配置

    原地址:http://www.cnblogs.com/mchina/archive/2012/12/18/2816717.html 一.简介 Samba是一个能让Linux系统应用Microsoft网 ...

  5. Samba服务器搭建与配置

    Samba服务简介 Samba的起源: 对于windows的网上邻居来讲,共享文件的方式用的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间用的是NFS协议. ​ 但是Linux和 ...

  6. CentOS 6.3下Samba服务器的安装与配置

    一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的 ...

  7. CentOS 7下Samba服务器的安装与配置 win 共享磁盘

    一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的 ...

  8. [转] samba服务器

    一.samba服务器概述 Samba是一个能让Linux系统应用Microsoft网络通信协议的软件.而SMB是Server Message Block的缩写,即为服务器消息块.SMB主要作为Micr ...

  9. 把Ubuntu 9.04版本的Samba 服务器加入到Active Directory中

    把Ubuntu 9.04版本的Samba 服务器加入到Active Directory中 这篇教程描述怎样在一台Ubuntu 9.04的Samba服务器中集成Active Directory,和怎样使 ...

最新文章

  1. linux elf命令,linux strings 命令——ELF文件格式与“链接和装载”
  2. java arrays.sort() c_5.4 (Java学习笔记)集合的排序(Collections.sort(),及Arrays.sort())...
  3. 实现手电筒Flash Light 关键代码
  4. 算法竞赛入门经典 第一章 上机练习(C++代码)
  5. Android接收短信
  6. java万年历表怎么输出6_用Java编程输出万年历的功能实现
  7. canvas 绘制直线 并选中_javascript自学记录:canvas绘图
  8. mysql datasource.url_SpringBoot配置数据源DataSource
  9. opencv基础:罗德里格斯旋转公式(Rodrigues' rotation formula)推导 rodrigues()函数原理
  10. Image Style Transfer:多风格 TensorFlow 实现
  11. 刷题记录 CF每日一题打卡 2020.5月26-6月2
  12. 文件压缩——哈夫曼树编码2.0
  13. 注册表看计算机配置命令行,regedit-注册表编辑器及其命令行使用
  14. SharePoint2016 - How to create App Catalog site?
  15. 科技爱好者周刊(第 216 期):极简主义的胜利
  16. Genymotion安卓模拟器常见问题汇总
  17. 依托人工智能实现的个性化推送
  18. 国产化机器视觉嵌入式主板RK3399
  19. ConfigurationChanged流程梳理(屏幕旋转、语言及字体切换)
  20. Tornado笔记——用Tornado搭建假单统计考勤系统(八)

热门文章

  1. Android学习之ImageView放置gif动态图
  2. 篱笆家装宝典之四——瓷砖
  3. build tools
  4. 【bat批处理脚本命令】2分钟看懂,一键主机windows系统远程连接控制阿里云等windows系统的云服务器(保姆级图文+实现代码)
  5. 工作邮箱怎么注册?企业邮箱有哪些功能?
  6. 华为云计算之rainbow迁移实验
  7. PP相关的 bapi
  8. 调节盘的三维建模及加工工艺规程设计
  9. 认识Linux系统结构
  10. 企业知识管理的重要性