|
发表于 2022-6-19 22:44:51
|
显示全部楼层
2 b$ A4 l2 M0 p- i
插上U盘,按照惯例会被挂载到/mnt目录下,果然多了一个文件夹usb1_1,打开并chmod 777 ./busybox-mips,就可以用完整版的Busybox了。- Z6 H* S9 m# j
注意,如果你的U盘/移动硬盘没有识别并自动挂载,建议检查文件系统,我的U盘文件系统是FAT32,块大小为4KB,实测是可以识别的。
$ l. u* H `# N) j/ M这回能用df命令了,执行./busybox-mips df -m,可以看到有两块空间是可用的,分别是U盘/mnt/usb1_1和约84MB的/usr/osgi,猜想是光猫的内置闪存,去看了一下,闪存内有一大堆不明所以的文件,先不管。, @. u. a7 B2 M9 L; t1 E+ D, Q) O$ G
OK既然内置了Samba服务器,那肯定要利用起来。不过这光猫的是个魔改版,折腾了足足两晚上才跑起来,坑爹啊!+ S( d( X: [5 D4 v$ G
简单说一下有啥坑:
& k2 e/ J6 L. V* i; e
, v& e) n& B% qshare共享方式(匿名访问)死活用不成,必须要user共享方式。 \& V0 i2 I ?, w- I; X! k
user共享方式默认需要nobody用户,但是adduser nobody会提示adduser: group name nobody already in use,但是我执行cat /etc/passwd,里面明明没有nobody用户啊!?这个问题最后通过换成光猫root用户CMCCAdmin解决了。8 @5 u( b; P3 r& t
Samba老版本的一个BUG,普通用户会错误,必须要root用户。
" j! I! t9 \) b0 _. n下面说一下如何配置,首先依次执行:
0 T/ O$ q7 o, n0 c* @% }9 h% G9 q3 v8 p( v& m6 V
mkdir /mnt/usb1_1/sambamkdir /mnt/usb1_1/samba/logs
0 a9 \9 C( Q! ?. p% U/ }0 b./busybox-mips vi /mnt/usb1_1/samba/smb.conf#然后把下文中的配置文件修改并写进去。
! N! J7 W5 K* z3 p/ T' Y2 }; Y下面是一个光猫能用的配置:smb.conf。(OldLiu请自行改为你想要的用户名)
' z' o% n0 ~% s" h0 W5 o5 @# P& l& ^" i/ G+ ~* ^6 n# @
[global]
* i$ O: `0 b" \& G# x7 V: W7 i4 Hnetbios name = server$ `# H0 ^7 d5 X- F: t, V3 m
workgroup = workgroup
' C8 q1 n( a) @+ S4 Smax connections = 0
+ w& S6 k+ O- u( x w& \5 L" G" Ldeadtime = 0
. B$ g: J; j; Y4 Flog file = /mnt/usb1_1/samba/logs/%m.log
5 m. T$ L) [% g( kmax log size = 50
D" H+ y) G$ O: Y; c( J- w1 @guest ok = no' x/ p0 l7 K9 O7 g q6 u. K
guest account = CMCCAdmin
6 O( W3 Z4 q7 @* b% q0 P#guest account = nobody
9 D6 E+ D% z8 N' M9 i6 lencrypt passwords = yes: o" b. W e1 l- V7 c6 r( I3 A7 q
security = user
# y9 b1 q+ a4 d* Aload printers = no
# ^& q+ J% g3 P: v) n[External USB Disk]
1 b2 g: G. ~3 e$ `4 s- Zpath = /mnt/usb1_1
' T. }4 v& t: I# h9 Wbrowseable = yes
" t0 q& t6 F0 k* c, }1 R% x3 z& ^writable = yes
/ z- p0 \; i& _, O' x! z9 |; w, N7 kavailable = yes
, V1 B* L, ~) k2 Tadmin users = OldLiu : e: o# f6 W. M8 u# y+ ]9 Y# N
valid users = OldLiu, _' L$ i/ T* ?# t* R7 a1 ]8 m
write list = OldLiu
+ |- b# F9 P/ Q- Y7 _" Y[Internal Flash Disk]
3 c0 ^, u. b, J5 |* a7 Ypath = /usr/osgi5 A! l4 k/ j( \' v
browseable = yes, o$ |9 Z: |6 }: r
writable = yes, ], H5 F' Q2 l8 p4 k, N
available = yes" q( S' O- w! _' ^
admin users = OldLiu
; f6 s% }, O, Cvalid users = OldLiu 4 M$ c9 W T, L/ t1 x' n. X
write list = OldLiu F. @5 |4 }0 {$ ~: l
接下来编写这个脚本(OldLiu改成你刚才设的用户名,并放置在/mnt/usb1_1/samba/下),运行并输入两次密码,就可以启动Samba文件共享服务器了。, w: y8 Y& W( }, c* [; o w- Q }
; N. \# _9 b9 n' O% l#!/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 &
T% j. d2 @1 K$ V之后在Windows上通过Windows + R打开运行,输入\\192.168.1.1回车,再填好刚才设置的用户名和密码,就大功告成了。还可在此电脑上右键->映射网络驱动器,让其作为两块网络硬盘固定显示在文件资源管理器里面。( B7 u' j, L' X" \6 D3 ~6 }& }% N
Android可以用ES文件浏览器连接,这里不再赘述。$ l" a6 p1 z; ]& y2 ?% @, y: |
如果光猫重启,则直接执行脚本并输入密码,就可以启动服务器了。9 F( f( P$ x# ^6 D/ f1 c1 g
注意,如果之后在光猫内改了共享密码,则Windows需要删除凭证并重启,否则会死活连不上共享的。: g( p3 g. m$ c# e* k; j
进入会有两个子目录,相信我设置的目录名已经说明它们代表什么了,这里不再赘述。
: t' d$ [; y) t. B6 s" `, v" O想要关闭服务器,可以killall smbd,想再打开,可以smbd -D -s /mnt/usb1_1/samba/smb.conf。# K# D x9 {1 Y3 V6 I& d5 J
多台设备公用的文件,比如音乐,电影等,可以放置在U盘/移动硬盘上,开启服务器后多个设备随时都能访问,挺方便的。4 q2 U- m1 [& G+ J, \8 {
, |6 }: @/ b6 k版权声明
/ Q% F" f( ]1 g, {5 X# k% U$ H# S8 J+ J Y' c7 u
& c: M% d8 m; F1 {7 h9 H
转载 |
|