联想T2 Pro不拆机自由使用简明踩坑记(SSH+ROOT+Docker)
引言
T2 Pro是联想推出挺久的NAS了,最近主流渠道大部分也升级到New T2 Pro(主要升级点N4020->4120, 1G->2.5G网口),但是这机器在小黄鱼现在全新也就850左右一个(可惜没找到二手,否则价格更好),在被铁威马、绿联各坑了一遍,又不想给群辉送钱的心态下,以前也用过一个T1,看着大佬折腾X1的文章,感觉x86的机器都能用,于是就买了一台试毒,实际上发现和大佬写的文章和目前最新的T2 Pro的实际情况区别比较大,搜了一圈也没发现别人写的,于是自己总结一下踩坑经历,方便后来的小伙伴操作。理论上这套方案对联想的x86系列NAS都是适用的,大家也可以举一反三。
感谢 @塔扬 大佬的文章和在评论区讨论给出的帮助,这里基本上是以他的研究为基础做的:
另外提醒一下,T2 Pro并没有任何可以DIY的部分(内存,ssd均无接口),拆机基本无任何意义,也没有HDMI接口和连接座,无法直接输出视频,没必要尝试拆机 。
准备工作
一个大于4G的U盘,一个USB键盘(USB接收器无线也可以,蓝牙不行),两者起码有一个是typec的,或者准备一个转接口(注意不能用扩展坞,没有驱动,只能用单接口的转接),因为两个需要同时插入。我自己用的是下面这个U盘:
然后可以参照文首的链接,制作带VNC远程连接的启动盘,工具亦可以在他那边下载,这里不再复述,这部分是完全一致的,也没有什么坑。里面的文件我本来也想提供一个备份,但网盘链接发不出来,另外,请自行寻找一个能用的DiskGenius一并下载后解压并拷入制作完系统的U盘中。
开始折腾
下面我们要开始操作了,首先是进入windows,这里的步骤也和前文提到的教程一样,插上U盘,开机后先狂按F11,然后按下,回车。等待一段时间之后去路由上查看IP地址,找到后用UltraVNC连接,输入密码8888即可,此部分也不在赘述,细节有问题参考该教程即可。
进入windows后,和原教程有区别了,我们不要使用这里面的DiskGenius,因为无法正常写入文件(我也不知道为什么,反正T2 Pro最新系统就是不行)。打开刚才拷入U盘的DiskGenius,跳过备份磁盘这步骤(实际上无法备份,会卡死,估计驱动有点问题),然后进入12G的那个磁盘分区开始操作。注意,这里请
先不要按原教程覆盖shadow
可以按原教程覆盖ssh.service,这步我这里也略过了,和那边是一致的。
这里不直接覆盖shadow的原因是原作者给出的shadow文件里面包含了他自己的账号,且会把你的账号覆盖掉,所以正确的做法是自己去手动修改root部分,这是第一个问题。
修改方法:
在/etc/shadow上点击右键,选择 复制到目标文件夹,然后选择你的U盘目录(注意不要选错,这步选错会导致拷进来的时候找不到文件)。
然后右键记事本打开编辑:
注意root开头这行,这里就是你要修改的密码部分,把这部分用@塔扬 大佬给出的文件对应的部分替换即可,也就是替换成:
root:$6$BPbpw9CS/T8SLbKn$IyP8icvKjpaDjpRlh4bLQQZ7aqGaz7RFwjiZODk3VS0Ebxlxr6EnWtCNuxFIrYk.S7rA8FViJFyeHVgyNmHcA.:19258:0:99999:7:::
这样你的root密码就是smzdm了。
到这里大家可能会说,你这不是和@塔扬 的教程一样吗,就是避免了一下覆盖用户名的问题,其实不然,到这里开始我们就要见识联想的骚操作了。我刚开始按照那边的步骤做到这里之后,发现重启后ssh已经开启,但是始终显示密码错误,然后就开始了到处寻找哪里没开root访问的漫漫长路,此处细节按下不表,不熟悉linux的看了也是一头雾水。
最后的结论是,/sata/.storage/etc/ 目录下有一份shadow文件的备份,且每次开机的时候都会替换我们修改过的。
这时候聪明的你肯定想到了,那么我们还是在DiskGenius把这个文件也改了不就好了吗?
然而并不行,因为sata是硬盘的挂载目录,我们在windows里无法正常修改RAID1磁盘里的数据(当然,这步单盘小伙伴是应该可以直接改的,我没有尝试,有尝试的小伙伴可以说一下,改了应该就到这里结束了)。
那么是否可以先进一次ssh去把它改掉呢?当然也不行,因为我们从windows切到linux必然要重启。
还有个思路是把启动脚本改掉,然而我把linux各种可以自启的地方翻了个底朝天也没找到脚本在哪,最后推测可能也在外置磁盘
此时这个问题困扰了我很久,折腾了好几个小时,在寻找启动脚本的时候灵光一闪,既然它是自动改的,那我也可以自动改啊,利用Linux的crontab定时执行替换就好了(没有选择开机启动是因为无法确定执行顺序,可能还是会被备份的shadow覆盖)。
我们来再次回到DiskGenius里,找到/etc/cron.daily/passwd文件,同上拷贝到U盘中,然后用记事本打开,并把内容用我下文内容替换:
#!/bin/sh
cd /var/backups || exit 0
for FILE in passwd group shadow gshadow; do
test -f /etc/$FILE || continue
cmp -s $FILE.bak /etc/$FILE && continue
cp -p $FILE.bak /etc/$FILE && chmod 600 /etc/$FILE
done
然后用前文同样的方法将此修改过的文件复制到
/etc/cron.hourly
然后,我们再修改
/var/backup/shadow.bak
改为和
/etc/shadow
一样的内容即可,修改的具体步骤依然是复制出来记事本改完再覆盖回去,不再详述。
到这里我们主要操作就基本结束了,先重启系统,进入联想官方的系统,此时ssh还是不可用的,会提示密码错误,耐心等待到最近的一个x小时17分(你的机器配置也可能有区别,反正最多等一个小时)之后,ssh即可以登陆。
不需要操作但有兴趣的可以看的:其实这里再复制到daily也可以,不过等待的时间太久了没必要。懂Linux的朋友们应该看出来了,我是将原本每日执行的将shadow备份到shadow.bak的脚本源和目标替换了放进了每小时执行的cron里,且/etc/crontab里有执行时间(每小时的17分),所以开机后的第一个17分就会覆盖过去
扫尾工作
如果不在乎ssh密码就是smzdm的这样就可以先凑合用了,不过考虑到安全性和便利性(不用每次开机都先等一个小时),建议大家把以下收尾工作做完。
首先,登陆ssh并修改密码,在命令行下输入passwd并连输两次密码即可。
修改完毕后,打开你的
/etc/shadow
并覆盖到
/sata/.storage/etc/shadow
即
cp /etc/shadow /sata/.storage/etc/
询问是否覆盖选y即可,也可以手动修改,和上文类似。
最后,删除掉每小时恢复密码功能:
rm /etc/cron.hourly/passwd
到这里我们的稳定ssh就大功告成了。需要注意的是,以后如果需要修改密码,都需要改完后同步覆盖/sata/.storage/etc/shadow这个文件,否则下次开机又会失效。
Docker 补充说明
关于docker,塔扬 大佬的教程基本上没有什么问题,但是有个小区别补充一下,由于新版系统联想实际上已经内置了docker但没开放 ,所以安装的时候会有冲突的情况,只要先删除这个文件即可:
rm /var/lib/docker
到此,大家就可以愉快的参考各种教程使用docker啦!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
Mengzh
校验提示文案
uuuuuooooo
校验提示文案
小智dy
校验提示文案
无际飞限
校验提示文案
pwt133
校验提示文案
Mengzh
校验提示文案
huayugongju
校验提示文案
mengaish
校验提示文案
值友2886234051
校验提示文案
uuuuuooooo
校验提示文案
Mengzh
校验提示文案
值友7182012445
校验提示文案
qsect
校验提示文案
moklglglg
校验提示文案
值友3045711177
去看看
校验提示文案
值友4197229028
校验提示文案
黑月2021
校验提示文案
江左梅川内酷
校验提示文案
tongxunlu
校验提示文案
tongxunlu
校验提示文案
qsect
校验提示文案
江左梅川内酷
校验提示文案
黑月2021
校验提示文案
值友4197229028
校验提示文案
值友3045711177
去看看
校验提示文案
值友7182012445
校验提示文案
Mengzh
校验提示文案
uuuuuooooo
校验提示文案
uuuuuooooo
校验提示文案
moklglglg
校验提示文案
无际飞限
校验提示文案
值友2886234051
校验提示文案
mengaish
校验提示文案
huayugongju
校验提示文案
小智dy
校验提示文案
Mengzh
校验提示文案
Mengzh
校验提示文案
pwt133
校验提示文案