简单介绍下折腾家中盒子的情况
家里新入一个beelink的Gtking pro盒子,号称目前最强盒子,没有之一,价格昂贵,不折腾太亏了,这个文章简单记录折腾的过程
安装entware的过程
ssh [email protected]
root:ZHANG0114; zhang:zhangzhang ftp:ZHANG0114
关机重启后的脚本文件:
#!/system/bin/sh
/system/bin/mount -o rw, remount rootfs /
unset LD_PRELOAD
unset LD_LIBRARY_PATH
mkdir /bin
mkdir /opt
mount -o bind /data/opt /opt
ln -s /system/bin/sh /bin/sh
chown root:root /data/opt -R
chmod -R 0755 /data/opt
chown root /opt -Rh
/opt/etc/init.d/rc.unslung start
sleep 30
/system/bin/mount -o ro,remount rootfs /
相对比较简单,暂且不表
samba服务器安装
这是最让人蛋疼的,刚买回来盒子的时候,因为对linux的命令不是很熟,可以说完全不懂,对盒子的折腾仅限于安装APP。除了安装一大堆看片和电视直播的APP以外,最想对盒子折腾的就是把它变成一个文件和媒体共享的服务器。接触到两个APP,一个是 servers ultimate pro(最新版Google play上是7.75,但是Google上确实可以搜到8.12的最新版本,而且都是MOD破解版),这个APP其实还是蛮强大的,他可以啊,模拟非常非常多的一个服务器,包括samba, 包括FTP,还有包括vnc等等,FTP在这个上面非常完美的通过了,但是samba有一点问题就是说没有办法通过。别外还有一个是Lan drive,这个我下的是一个比较老一点的版本,虽然说是破解版,确实能够构建申报服务器,但是这个服务器有一个很大的缺点,就是传输速度非常非常慢,可能破解的不够完全,仍然像是一个trial版本那样限速只能放弃。
最终通过搜索知道entware,然后学着在上面samba服务器,主要参考了这个https://www.right.com.cn/forum/thread-363866-1-1.html,感谢作者
安装的过程其实很简单,安装好entware以后,直接用命令安装samba4
opkg install samba4-server samba4-admin samba4-libs samba4-utils
主要的还是对smb.conf进行设置,踩了一些坑,
首先是我的smb.conf的主要内容:
/opt/etc/samba/smb.conf
[global]
netbios name = Entware-SMB4
interfaces = 192.168.1.114/24 eth0
server string = Samba on Entware
workgroup = WORKGROUP
guest account = nobody
security = user
map to guest = Bad User
guest ok = yes
guest only = no
timestamp logs = no
preserve case = yes
short preserve case = yes
socket options = TCP_NODELAY SO_KEEPALIVE IPTOS_LOWDELAY
##SO_RCVBUF=65536 SO_SNDBUF=65536
log level = 0
syslog = 1
passdb backend = smbpasswd
smb encrypt = disabled
smb passwd file = /opt/etc/samba/smbpasswd
load printers = no
printcap name = /dev/null
[datamedia]
path = /data/media
read only = no
guest ok = yes
valid users = root
write list = root
-
interfaces的选项很重要,我的电视盒子啊,它既有WiFi也有阿易台网啊,两个同时开的话,它是有一个有两个Ip地址的,我一般的话是使用这个以太网地址,把wifi是可以关掉的,但是大部分时候很多程序都是默认用WiFi来进行连接的,所以它的监测地址大部分都是WiFi地址,所以有时候以太网不太好确定,包括前面所讲的ultimate servers,很难监测不到以太网的地址,除非指定eth0。这里interfaces一定要指定,可以用ifconfig来查看,lo指localhost.
- smb passwd file = /opt/etc/samba/smbpassw这里是要新建帐户时设的密码保存文件
smbpasswd -a root
创建samba账户,samba账户和系统用户是各自的账户,不过必须得是系统用户才能是samba用户,新建root帐户,设定密码,好像还是root:12345,保存在上述文件中,这个和系统中帐户文件/opt/etc/passwd不同,这里存的是系统内的帐户和密码。
-
用df命令查看分区情况
选定/data/media作为共享盘,注意root帐户,此为smbpasswd里的root帐户。
[datamedia]
path = /data/media
read only = no
guest ok = yes
valid users = root
write list = root
-
原帖中将 nmbd给注释掉了,但我发现没有问题,不用注释,似乎也不影响结果
- 最后 是启动命令
/opt/etc/init.d/S91smb start
start 可以是restart,stop,对smb进行启动,重启和停止。
查看445的端口情况,默认smb是445端口
netstat -ntl
文件夹权限问题`
S91smb启动时将新建一些文件夹和文件,该文件内容:
mkdir -p /opt/var/log/samba
mkdir -p /opt/var/lib/samba/private
mkdir -p /opt/var/cache/samba
mkdir -p /opt/var/run/samba/ncalrpc
很多时候因为权限的问题导致启动失败(testparm和smbd得知,有些文件夹权限要0700,有些要有写权限0755,),总结可以将下面设置成0755。
chmod -R 0755 /opt/var/log
chmod -R 0755 /opt/var/lib
chmod -R 0755 /opt/var/cache
检测smb排错的命令
/opt/sbin/smbd -F -S
/opt/bin/testparm
exit_daemon: daemon failed to start: Failed to create session, error code 1
在adb shell下总会出现这个问题,后来果断换成ssh,发现竟然成功了,有可能是adb调试的问题,喜悦。
安装vsftpd-ext的过程
折腾了好几天。有空再写。主要是/opt/etc/vsftpd/vsftpd.conf的设置,非常关键,现在的文件,可以匿名,也可以本地用户,虚拟用户没搞,感觉坑更大:
chown_uploads=YES
chown_username=root
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_upload_enable=YES
dirmessage_enable=YES
allow_writeable_chroot=YES
anon_root=/data/media
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
xferlog_enable=YES
connect_from_port_20=YES
anon_upload_enable=YES并不代表就能上传和进行写操作,因此如要进行写操作,必须保证该文件夹有写权限,这个和匿名用户进入无关。
ftp的系统帐户用密码登录进入,可以看到进入的是anon_root=/data/media的文件夹,因此应该是将其作为匿名用户对待的。local 未指定文件夹,root帐户进入的是/opt/home,但是可以向上走,直到系统根目录。